UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
Sistema Web para la Gestión y Control de la Entrada, Salida y Mantenimiento
Vehicular de la Universidad Central del Ecuador
Trabajo de Titulación modalidad Proyecto Integrador previo a la obtención del título de
Ingeniero Informático.
José Luis Romero Cortez
TUTOR: Ing. Mauro Leonardo Rosas Lara
QUITO, 2018
ii
DERECHOS DE AUTOR
Yo, JOSÉ LUIS ROMERO CORTEZ, en calidad de autor y titular de los derechos
morales y patrimoniales del trabajo de titulación: “SISTEMA WEB PARA LA GESTIÓN
Y CONTROL DE LA ENTRADA, SALIDA Y MANTENIMIENTO VEHICULAR DE
LA UNIVERSIDAD CENTRAL DEL ECUADOR”, modalidad Proyecto Integrador, de
conformidad con el Art. 144 del CÓDIGO ORGÁNICO DE LA ECONOMÍA SOCIAL
DE LOS CONOCIMIENTOS, CREATIVIDAD E INNOVACIÓN, concedemos a favor
de la Universidad Central del Ecuador una licencia gratuita, intransferible y no exclusiva
para el uso no comercial de la obra, con fines estrictamente académicos. Conservamos a
mi favor todos los derechos de autor sobre mi obra, establecidos en la normativa citada.
Así mismo, autorizo a la Universidad Central del Ecuador para que realice la
digitalización y publicación de este trabajo de titulación en el repositorio virtual, de
conformidad a lo dispuesto en el Art, 144 de la Ley Orgánica de Educación Superior.
El autor declara que la obra objeto de la presente autorización es original en su forma de
expresión y no infringe el derecho de autor de terceros, asumiendo la responsabilidad por
cualquier reclamación que pudiera presentarse por esta causa y liberando a la Universidad
de toda responsabilidad.
Firma: ________________________________
Nombres y Apellidos: José Luis Romero Cortez
CI: 131190100-1
Telf: 0987641687
Dirección electrónica: [email protected]
iii
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de Titulación, presentado por JOSÉ LUIS ROMERO
CORTEZ, para optar por el Grado de Ingeniero Informático; cuyo título es: SISTEMA
WEB PARA LA GESTIÓN Y CONTROL DE LA ENTRADA, SALIDA Y
MANTENIMIENTO VEHICULAR DE LA UNIVERSIDAD CENTRAL DEL
ECUADOR, considero que dicho trabajo reúne los requisitos y méritos suficientes para
ser sometido a las presentación pública y evaluación por parte del tribunal examinador
que se designe.
En la ciudad de Quito, a los 20 días del mes de diciembre de 2017.
________________________________
Ing. Mauro Leonardo Rosas Lara
CI: 1711642965
Telf: 0998137923
Dirección electrónica: [email protected]
iv
DEDICATORIA
Dedico el siguiente trabajo de tesis a Dios por guiarme en cada momento y a su infinita
bondad de mantenerme aun en este mundo y poder conseguir mis objetivos, metas y
logros, a la vez que me motiva para ser una persona cada vez más responsable en el
transcurso de la vida.
A mi madre y padre por su apoyo, amor y paciencia, ya que gracias a ellos fue posible
alcanzar este logro, a mis hermanas que con sus consejos han sido fundamentales a lo
largo de mi vida personal y profesional.
v
AGRADECIMIENTOS
• Doy infinitamente gracias a Dios por haberme dado fuerzas, salud y valor para
culminar esta etapa de mi vida.
• A mis padres, que me han ayudado de forma económica y personal, por su
confianza y aliento para concluir con éxito mi carrera universitaria, a mis
hermanas quienes me ha motivado a seguir adelante en mi vida profesional.
• Al Ing. Mauro Rosas, que ha sabido guiarme y compartir sus conocimientos como
profesor y tutor a lo largo de este proceso.
• A mis amigos/as, quienes me brindaron su amistad, sus palabras de aliento para
nunca rendirnos en nuestras metas.
• A todos los docentes que desempeñan sus funciones en la Facultad de Ingeniería
Ciencias Físicas y Matemática, de igual manera a la Dirección General
Administrativa y al personal designado al área vehicular por su valiosa
colaboración.
vi
CONTENIDO
DERECHOS DE AUTOR ................................................................................................ ii
APROBACIÓN DEL TUTOR ........................................................................................ iii
DEDICATORIA .............................................................................................................. iv
AGRADECIMIENTOS .................................................................................................... v
CONTENIDO .................................................................................................................. vi
LISTA DE FIGURAS ..................................................................................................... ix
LISTA DE TABLAS ..................................................................................................... xiv
RESUMEN ..................................................................................................................... xv
ABSTRACT .................................................................................................................. xvi
INTRODUCCIÓN ............................................................................................................ 1
1. RESENTACION DEL PROBLEMA ....................................................................... 2
1.1 Planteamiento del Problema .............................................................................. 2
1.2 Justificación ....................................................................................................... 2
1.3 Objetivos ............................................................................................................ 3
1.3.1 Objetivo General......................................................................................... 3
1.3.2 Objetivos Específicos ................................................................................. 3
1.4 Alcance .............................................................................................................. 3
1.5 Limitación del Problema .................................................................................... 4
1.6 Análisis de herramientas de desarrollo .............................................................. 4
1.6.1 Lenguajes de Programación........................................................................ 4
1.6.2 Entorno de Desarrollo Integrado (IDE) ...................................................... 6
1.6.3 Interfaces de usuario ................................................................................... 8
1.6.4 Servidores de Aplicaciones ........................................................................ 9
1.6.5 Motor de Base de Datos ........................................................................... 10
vii
1.6.6 Reportes .................................................................................................... 12
1.6.7 Arquitectura de Software .......................................................................... 13
1.7 Fundamentación Legal ..................................................................................... 14
2 METODOLOGÍA ................................................................................................... 15
2.1 Metodología investigativa ................................................................................ 15
2.2 Metodología de desarrollado de software ........................................................ 15
2.3 Programación Extrema (XP) ............................................................................ 17
2.4 Roles de la Programación Extrema .................................................................. 18
2.5 Fases de la Programación Extrema .................................................................. 18
2.5.1 Planificación ............................................................................................. 19
2.5.2 Diseño ....................................................................................................... 20
2.5.3 Desarrollo ................................................................................................. 21
2.5.4 Pruebas ..................................................................................................... 22
3 DESARROLLO DE LA APLICACIÓN ................................................................ 24
3.1 Planificación .................................................................................................... 24
3.1.1 Historias de Usuarios ................................................................................ 24
3.1.2 Plan de Entrega ......................................................................................... 26
3.1.3 Iteraciones ................................................................................................. 26
3.1.4 Reuniones ................................................................................................. 27
3.2 Diseño .............................................................................................................. 27
3.2.1 Proceso de orden de movilización y salvoconductos ............................... 28
3.2.2 Proceso de Mantenimiento Vehicular....................................................... 29
3.2.3 Modelo Entidad – Relación ...................................................................... 30
3.2.4 Reciclaje ................................................................................................... 30
3.3 Desarrollo ......................................................................................................... 31
3.3.1 Roles y Asignaciones de usuarios en el “S.G.V.UCE” ............................ 31
viii
3.3.2 Orden de Movilización Generado por el “S.G.V.UCE” ........................... 34
3.3.3 Salvoconductos Generado por el “S.G.V.UCE”....................................... 35
3.3.4 Orden de Trabajo Generado por el “S.G.V.UCE”. ................................... 36
3.3.5 Registro de Combustible Generado por el “S.G.V.UCE”. ....................... 37
3.4 Pruebas ............................................................................................................. 39
3.4.1 Prueba SQL Injection ............................................................................... 39
4 PRUEBAS DE FUNCIONALIDAD Y RESULTADOS ....................................... 41
4.1 Prueba de Navegador Web en PC ................................................................ 41
4.2 Prueba de Navegador Web desde un dispositivo Móvil .............................. 44
5 CONCLUSIONES .................................................................................................. 47
6 RECOMENDACIONES ......................................................................................... 48
BIBLIOGRAFÍA ............................................................................................................ 49
ANEXOS ........................................................................................................................ 50
ix
LISTA DE FIGURAS
Figura 1. Fases de la Programación Extrema. (VILCA LINCANGO , 2015) ............... 19
Figura 2. Proceso Orden Movilización y Salvoconductos. (Ing. Quimbita, 2017) ........ 28
Figura 3. Proceso Mantenimiento Vehicular. (Ing. Quimbita, 2017) ............................. 29
Figura 4. Modelo Entidad- Relación. ............................................................................. 30
Figura 5. Asignación del Administrador. ....................................................................... 31
Figura 6. Roles del Administrador ................................................................................. 31
Figura 7. Roles del Administrador. ................................................................................ 32
Figura 8. Roles del Administrador. ................................................................................ 33
Figura 9. Roles del Usuario. ........................................................................................... 34
Figura 10. Pantalla de registro de Orden de Movilización. ............................................ 34
Figura 11. Orden de Movilización. ................................................................................. 35
Figura 12. Salvoconducto Ordinario Normal. ................................................................ 35
Figura 13. Pdf del Salvoconducto Ordinario Normal. .................................................... 36
Figura 14. Orden de trabajo. ........................................................................................... 36
Figura 15. Pdf de Orden de Trabajo. .............................................................................. 37
Figura 16. Registro de Combustible. .............................................................................. 38
Figura 17. Pdf del Reporte de Combustible. .................................................................. 38
Figura 18. Pantalla de Login .......................................................................................... 39
Figura 19. Prueba SQL Injection .................................................................................... 40
Figura 20. Validación prueba SQL Injection.................................................................. 40
Figura 21. Pantalla de Login en Google Chrome ........................................................... 41
Figura 22. Visualización de campos en Google Chrome ............................................... 41
Figura 23. Pantalla de Login en Mozilla Firefox ........................................................... 42
Figura 24. Visualización de campos en Mozilla Firefox ................................................ 42
x
Figura 25. Pantalla de Login en Internet Explorer ......................................................... 43
Figura 26. Visualización de campos en Internet Explorer.............................................. 43
Figura 27. Login desde el Dispositivo Móvil ................................................................. 44
Figura 28. Icono de Menú desde el Dispositivo Móvil .................................................. 45
Figura 29. Menú Administrador desde el Dispositivo Móvil ......................................... 45
Figura 30. Menú Salvoconducto Ordinario Normal desde el Dispositivo Móvil ........... 46
Figura 31. Visualización de pdf desde un Dispositivo Móvil ........................................ 46
Figura B.1 Página Principal del Usuario Normal. .......................................................... 65
Figura B.2 Menú Principal del Usuario Normal............................................................. 65
Figura B.3 Cuadro de dialogo de ingreso de datos. ........................................................ 66
Figura B.4 Cuadro de diálogos de ingreso de mensaje. ................................................. 66
Figura B.5 Pantalla de Bienvenida. ................................................................................ 68
Figura B.6 Pantalla de “Acerca de” en el “S.G.V.UCE”................................................ 68
Figura B.7 Pantalla de Ingreso. ...................................................................................... 69
Figura B.8 Link de Cambio o Recuperación de Contraseña .......................................... 69
Figura B.9 Pantalla de Recuperación o Cambio de Contraseña. .................................... 70
Figura B.10 Menú de Usuario. ....................................................................................... 70
Figura B.11 Pantalla de Generación de Orden de Movilización. ................................... 71
Figura B.12 Validación de Km. en Orden de Movilización. .......................................... 71
Figura B.13 Orden de Movilización completa. .............................................................. 72
Figura B.14 Mensaje de confirmación de Orden de Movilización................................. 72
Figura B.15 Visualización de Orden de Movilización registrada. ................................. 73
Figura B.16 Botón de descarga de Orden de Movilización. ........................................... 73
Figura B.17 Visualización en pdf Orden de Movilización. ............................................ 74
Figura B.18 Pantalla de Actualizar Orden de Movilización. .......................................... 74
Figura B.19 Culminar la Orden de Movilización. .......................................................... 75
xi
Figura B.20 Mensaje de Actualización de la Orden de Movilización. ........................... 75
Figura B.21 Pantalla de la Orden de Trabajo. ................................................................ 76
Figura B.22 Selección de categoría y lista de Manteamiento. ....................................... 76
Figura B.23 Registro de Orden de Trabajo..................................................................... 77
Figura B.24 Mensaje de Confirmación de Orden de Trabajo......................................... 77
Figura B.25 Orden de Trabajo en pdf. ............................................................................ 78
Figura B.26 Selección Datos en Mantenimiento. ........................................................... 78
Figura B.27 Mantenimiento Adicional. .......................................................................... 79
Figura B.28 Mensaje de Confirmación del Mantenimiento ........................................... 79
Figura B.29 Filtrar Mantenimiento por placa de vehículo. ............................................ 80
Figura B.30 Selección Tipo de Combustible. ................................................................. 80
Figura B.31 Mensaje de Confirmación de Registro de Combustible. ............................ 81
Figura B.32 Buscar Registro de Combustible por Placa de Vehículo. ........................... 81
Figura B.33 Botón de Actualizar Registro de Combustible. .......................................... 82
Figura B.34 Submenús de reportes. ................................................................................ 82
Figura B.35 Pantalla de Informe Técnico. ...................................................................... 83
Figura B.36 Reporte Técnico por Vehículo.................................................................... 83
Figura B.37 Pantalla para reporte de Combustible por Vehiculo. .................................. 84
Figura B.38 Reporte de Carga de Combustible por Vehículo. ....................................... 84
Figura B.39 Pestaña de Cierre de Sesión. ....................................................................... 85
Figura B.40 Mensaje de confirmación de Cierre de Sesión. .......................................... 85
Figura B.41 Redirección a Pantalla de Login. ................................................................ 86
Figura B.42 Menú y Pantalla del Usuario Administrador. ............................................. 86
Figura B.43 Submenú de tipos de Salvoconductos. ....................................................... 87
Figura B.44 Pantalla Salvoconducto Ordinario Normal. ................................................ 89
Figura B.45 Periodo Validez Salvoconducto Ordinario Normal. ................................... 90
xii
Figura B.46 Salvoconducto Ordinario Normal en pdf. .................................................. 90
Figura B.47 Selección Dependencia Salvoconducto Ordinario Temporal. .................... 91
Figura B.48 Tiempo Validez Salvoconducto Ordinario Temporal. ............................... 91
Figura B.49 Salvoconducto Ordinario Temporal en pdf. ............................................... 92
Figura B.50 Registro Salvoconducto Extraordinario. .................................................... 92
Figura B.51 Pantalla de Marcas de Vehículos. ............................................................... 93
Figura B.52 Ingreso Nueva Marca de Vehículo. ............................................................ 93
Figura B.53 Pantalla de Colores de vehículos. ............................................................... 94
Figura B.54 Ingreso de Nuevo Color de Vehículo. ........................................................ 94
Figura B.55 Pantalla de Modelos de Vehículos. ............................................................ 95
Figura B.56 Ingreso de Nuevo Modelo de Vehículo. ..................................................... 95
Figura B.57 Pantalla de Clases de Vehículos. ................................................................ 96
Figura B.58 Ingreso de Nueva Clase de Vehículo.......................................................... 96
Figura B.59 Pantalla de Tipos de Vehículos. ................................................................. 97
Figura B.60 Ingreso de Nuevo Tipo de Vehículo. .......................................................... 97
Figura B.61 Pantalla de Búsqueda de Vehículo por Placa. ............................................ 98
Figura B.62 Pantalla de Registro de Nuevo Vehículo. ................................................... 98
Figura B.63 Filtro de Vehículo por Número de Placa. ................................................... 99
Figura B.64 Pantalla de Tipos de Licencias Registradas................................................ 99
Figura B.65 Ingreso de Nuevo Tipo de Licencia.......................................................... 100
Figura B.66 Cargos de Conductores Registrados. ........................................................ 100
Figura B.67 Ingreso de Nuevo Cargo del Conductor. .................................................. 101
Figura B.68 Pantalla de Registro Conductor. ............................................................... 101
Figura B.69 Caducidad y Puntos de licencias de Conductores. ................................... 102
Figura B.70 Detalle de datos del Conductor................................................................. 102
Figura B.71 Asignaciones de Vehículos a Conductores. ............................................. 103
xiii
Figura B.72 Pantalla de Asignación de Vehículo a Conductor. ................................... 103
Figura B.73 Asignaciones de Tipos de Licencias a Conductores. ............................... 104
Figura B.74 Pantalla de Asignación de Tipo de Licencia a Conductor. ....................... 104
Figura B.75 Ingreso de Nueva Dependencia. ............................................................... 105
Figura B.76 Filtrar datos de una Dependencia. ............................................................ 105
Figura B.77 Pantalla de Talleres de Mantenimientos Registrados. .............................. 106
Figura B.78 Ingreso de Nuevo Taller de Mantenimiento. ............................................ 106
Figura B.79 Categorías de Mantenimientos. ................................................................ 107
Figura B.80 Ingreso de una Nueva Categoría de Mantenimiento. ............................... 107
Figura B.81 Lista asignada a una categoría de Mantenimientos. ................................. 108
Figura B.82 Nueva Lista de Mantenimiento. ............................................................... 108
Figura B.83 Asignaciones de Talleres de Mantenimientos a Dependencias. ............... 109
Figura B.84 Asignación de nuevo Taller a Dependencia. ............................................ 109
Figura B.85 Titulares de Sistemas Registrados. ........................................................... 110
Figura B.86 Ingreso datos de un Nuevo Titular. .......................................................... 110
Figura B.87 Registro de Tipo de Titular en el “S.G.V.UCE”. ..................................... 111
Figura B.88 Roles de los Usuarios Registrados. .......................................................... 111
Figura B.89 Ingreso de un Nuevo Role en el “S.G.V.UCE”. ....................................... 112
Figura B.90 Pantalla para Mostrar Datos de Tablas. .................................................... 112
Figura B.91 Selección de Tabla a Mostar..................................................................... 113
Figura B.92 Exportar datos a Excel. ............................................................................. 113
Figura B.93 datos de Tablas en Excel .......................................................................... 114
Figura B.94 filtrar datos para exportar a Excel por dependencia. ................................ 114
Figura B.95 Datos en Excel filtrados por dependencia. ............................................... 115
xiv
LISTA DE TABLAS
Tabla 1. Niveles de Puntuación ........................................................................................ 4
Tabla 2. Comparativo entre Lenguajes de Programación................................................. 5
Tabla 3. Comparativo entre Entorno de Desarrollo Integrado ......................................... 6
Tabla 4. Comparativo entre Interfaces de Usuario. .......................................................... 8
Tabla 5. Comparativo entre Servidores de Aplicaciones. ................................................ 9
Tabla 6. Comparación de Bases de Datos. ..................................................................... 10
Tabla 7. Comparación de Reportes. ............................................................................... 12
Tabla 8. Comparación de Arquitecturas Software.......................................................... 13
Tabla 9. Comparación de Metodologías de Software. ................................................... 16
Tabla 10. Valores de la Programación Extrema. ............................................................ 17
Tabla 11. Roles de la Programación Extrema. ............................................................... 18
Tabla 12. Características de la Fase de Planificación ..................................................... 20
Tabla 13. Características de la Fase de Diseño. ............................................................. 21
Tabla 14. Características de la Fase de Codificación. .................................................... 22
Tabla 15. Características de la Fase de Pruebas. ............................................................ 23
Tabla 16. Historias de Usuario. ...................................................................................... 24
Tabla 17. Iteraciones del Sistema. .................................................................................. 26
Tabla B.1 Notaciones de Campos en el “S.G.V.UCE”. ................................................. 64
Tabla B.2 Cuadro de Tipos de mensajes del “S.G.V.UCE”. .......................................... 66
xv
TITULO: Sistema web para la gestión y control de la entrada, salida y mantenimiento
vehicular de la Universidad Central del Ecuador
Autor: José Luis Romero Cortez
Tutor: Ing. Mauro Leonardo Rosas Lara
RESUMEN
La Universidad Central del Ecuador ha visto la necesidad de mejorar, optimizar y
controlar de mejor manera la entrada, salida, mantenimiento y registro de combustible de
los vehículos oficiales pertenecientes a la Institución. El presente proyecto de titulación
muestra el desarrollo de un sistema web que facilita la generación de salvoconductos y
ordenes de movilización, mantenimiento y registro de combustible para los vehículos
oficiales asignados a las diferentes Unidades Académicas y Administrativas de la
Universidad Central del Ecuador; mediante el uso de tecnologías y herramientas de
código abierto que actualmente se encuentran en auge en el campo profesional del
desarrollo de software, permitiendo a las diferentes Unidades Académicas y
Administrativas tener una herramienta que contribuye en el manejo e integración de la
información referente a salvoconductos y ordenes de movilización, así como permisos
necesarios para que los vehículos del estado puedan circular con normalidad en el Distrito
Metropolitano de Quito, contando también con la generación de reportes.
PALABRAS CLAVE: / SALVOCONDUCTO / ORDENES DE MOVILIZACIÓN /
MANTENIMIENTO / COMBUSTIBLE / GESTIÓN VEHICULAR / SPRING
FRAMEWORK / JAVA SERVER FACES / APLICACIÓN WEB/ SPRING BOOT /
BOOTFACES
xvi
TITLE: Web System for the management and control of the entrance, exit and vehicular
maintenance of The Central University of Ecuador.
Author: José Luis Romero Cortez
Tutor: Ing. Mauro Leonardo Rosas Lara
ABSTRACT
The Central University of Ecuador has seen the need to improve, optimize and control
in a better way the entrance, exit, maintenance and fuel registration of official vehicles
of the Institution. The present project shows the web system development which
simplifies the safe conducts and mobilization’s orders issue, maintenance and fuel
registration of official vehicles assigned to different Academic and Administration
Units of the Central University of Ecuador by means of the use of technology and open
code tools that are currently on the rise within the software development field. These
will allow access to a tool in different Academic and Administrative Units which
contributes to data management and integration regarding to safe conducts and
mobilization’s orders as well as the authorizations required on Government vehicles so
they are able to travel in the Metropolitan District of Quito, relying also on reports´
generation.
KEYWORDS: / SAFE CONDUCT / MOVILIZATION´S ORDERS /
MAINTENANCE / FUEL / VEHICULE MANAGEMENT / SPRING FRAMEWORK
/ JAVA SERVER FACES / WEB APLICATION / SPRING BOOT / BOOTFACES
1
INTRODUCCIÓN
Los vehículos oficiales pertenecientes a la Universidad Central del Ecuador están
destinados únicamente para uso exclusivo de la institución, es decir para la movilización
de las actividades públicas, donde algunos funcionarios ejercen habitualmente sus
actividades laborales.
Hay dificultades al momento de llevar un control de entrada, salida, registro de
mantenimiento y registro del combustible de vehículos oficiales de la Universidad Central
del Ecuador, ya que la misma actualmente solo cuenta con una pequeña aplicación
informática en Access, la misma que solo contempla la generación de salvoconductos y
ordenes de movilización, información que no se encuentra integrada con las demás
Unidades Académicas y Administrativas, sino que se encuentra almacenada en una
computadora de la Dirección General Administrativa; siendo la gran mayoría de la
información manejada mediante archivos físicos, es decir, copias de matrículas, licencias
en papel y plantillas de Word, Excel.
La Institución buscando siempre el mejoramiento en la calidad de servicios para sus
actividades, desea implementar un “SISTEMA WEB PARA LA GESTIÓN Y
CONTROL DE LA ENTRADA, SALIDA Y MANTENIMIENTO VEHICULAR DE
LA UNIVERSIDAD CENTRAL DEL ECUADOR” (S.G.V.UCE), el cual está enfocado
en dejar de hacer las cosas manualmente y llevarlo a un ambiente de tecnología actual,
donde facilitará el acceso a la información de toda la gestión vehicular de la Institución
de forma integrada.
2
1. RESENTACION DEL PROBLEMA
1.1 Planteamiento del Problema
La Universidad Central del Ecuador actualmente cuenta con aproximadamente 97
vehículos oficiales asignados a las diferentes Unidades Académicas y Administrativas, y
alrededor de 60 conductores para cumplir con las labores de la Institución.
Debido a que la Dirección General Administrativa es la encargada de llevar el control del
buen uso de los vehículos oficiales de la Institución, la misma que no cuenta con un
sistema completo ni con información integrada de cada uno de los vehículos y
conductores, ni de su asignación con las diferentes Unidades Académicas y
Administrativas, apoyándose actualmente en una pequeña aplicación informática en
Access ( para gestionar permisos de orden de movilización y salvoconductos de los
vehículos oficiales), no contemplando el manejo de registro del mantenimiento y registro
de combustibles de los mismo.
1.2 Justificación
En vista de la problemática anteriormente mencionada, con el desarrollo del
“S.G.V.UCE”, se pretende brindar una solución a las diferentes Unidades Académicas
y Administrativas de la Universidad Central del Ecuador con respecto a los
inconvenientes relacionados a la generación de permisos (salvoconducto y orden de
movilización) para los vehículos oficiales, que se detallan en el ANEXO A, así como
información integrada y detallada acerca de conductores, tipos de licencias, registro de
mantenimientos preventivos y correctivos, registro de combustibles, control de
matriculación de los vehículos, estado de los mismo, entre otros.
3
1.3 Objetivos
1.3.1 Objetivo General
• Desarrollar un sistema web que facilite la gestión y control de la entrada, salida y
mantenimiento vehicular para la Dirección General Administrativa de la Universidad
Central del Ecuador
1.3.2 Objetivos Específicos
• Registrar la generación de orden de movilización y salvoconductos para la
movilización de todos los vehículos de la Universidad Central del Ecuador.
• Generación de reportes de vehículos y conductores.
• Registrar el mantenimiento preventivo y correctivo de los diferentes vehículos que
cuenta la Institución.
1.4 Alcance
El “S.G.V.UCE”, consta de dos módulos:
1. Primer módulo, gestión de la entrada y salida con generación de órdenes de
movilización y salvoconductos de los vehículos oficiales de la Universidad
Central del Ecuador.
2. Segundo módulo, el mantenimiento de dichos vehículos (Preventivo y
Correctivo).
Adicionalmente, el “S.G.V.UCE” contempla otras funcionalidades, las más
representativas son las siguientes:
• Generación de reportes del estado de cada uno de los vehículos, o del conductor
asignado, ordenes de trabajo, registro de combustible y mantenimiento.
• Dispone de la administración de roles y usuarios en el sistema.
• Registro de la infraestructura física (Unidades Académicas y Administrativas,
vehículos, conductores, talleres, combustible, etc.).
4
1.5 Limitación del Problema
• La aplicación informática no proporciona geo localización de los vehículos oficiales.
• La aplicación informática no está diseñada como un apk (Android Aplication
Package) de instalación para dispositivos móviles.
• El Sistema no realiza backups periódicos del sistema.
• El Sistema no interactúa con otro sistema de la Universidad Central del Ecuador.
• El sistema no se integra con ningún sistema contable.
• El sistema no da de baja a los vehículos oficiales.
1.6 Análisis de herramientas de desarrollo
En la actualidad existen en el mercado una gran cantidad de herramientas de código
abierto o privado, que podemos utilizar para el desarrollo del “S.G.V.UCE”, entre ellas
las factibles por el decreto No. 1014 por parte de la presidencia en ese entonces del Ec.
Rafael Correa Delgado emitido el día jueves 10 de abril del 2008 el cual promueve el uso
de software libre en las instituciones públicas del Ecuador.
Para la puntuación de las características o especificaciones en las diferentes herramientas
a comparar se empleó el criterio de la escala de Likert (Llauradó, 2014), la cual consiste
en asignar un valor o rango de valores a cada nivel de afirmación, con algunas
modificaciones necesarias, Misma que podemos visualizar en la Tabla 1.
Tabla 1. Niveles de Puntuación
Puntuación Niveles
0-3 Bajo
4-5 Regular
6-8 Aceptable
9-10 Muy alto, Excelente
1.6.1 Lenguajes de Programación
En la actualidad se encuentra una gran cantidad de lenguajes de programación que son
utilizados para crear aplicaciones web, aplicaciones de escritorio o aplicaciones para
5
dispositivos móviles. Para decidir que lenguaje de programación usar en el presente
sistema, se ha optado por definir ciertas características a cumplir (que sea libre, que sea
seguro, que sirva para desarrollo de aplicaciones web, que sea robusto, que cuente con
una buena documentación, y que tenga una buena demanda a nivel profesional). En este
caso, solo se han considerado los siguientes Lenguajes de Programación:
• JAVA
• PHP
• PYTHON
A continuación, la Tabla 2, muestra una comparativa entre los Lenguajes de
Programación pre seleccionados:
Tabla 2. Comparativo entre Lenguajes de Programación
Características Java PHP PYTHON
Soporte Base de Datos 9 8 8
Integración Framework 9 8 8
Compilación o Ejecución 9 9 8
Curva Aprendizaje 8 8 8
Seguridad 8 7 8
Multiplataforma 9 9 9
Orientado a Objetos 9 5 8
Distribuido 8 7 7
Robusto 9 8 8
Portabilidad 8 8 8
Multithread 9 8 7
Documentación 9 8 7
Escalabilidad 9 9 8
Flexibilidad 8 9 8
Rendimiento 8 9 8
Popularidad 9 8 7
Tendencia en el Mercado 9 9 8
Promedio 8,647 8,058 7,82
6
Porcentaje 86 % 80% 78%
Una vez analizado las características técnicas entre los tres lenguajes, se observa que Java
obtuvo un porcentaje más elevado en comparación con los demás lenguajes analizados,
por tal motivo se utilizó para el desarrollo del “S.G.V.UCE”.
1.6.2 Entorno de Desarrollo Integrado (IDE)
Actualmente existe un sin número de IDE’s para el desarrollo, que son muy potentes con
una excelente documentación y soporte para la integración con otros Framework, dentro
de los cuales se mencionan los siguientes:
• NetBeans.
• Eclipse.
• Spring Tool Suite.
Tabla 3. Comparativo entre Entorno de Desarrollo Integrado
Características NetBeans
8
Eclipse
4.4
Spring Tool
Suite (STS)
3.8.4
Drag and Drop 9 8 8
Curva Aprendizaje 8 8 8
Multiplataforma 9 9 9
Tiempo Ejecución 9 8 9
Detección de errores mientras escribe y le
ayuda con documentación y el código
inteligente, todo con la velocidad y sencillez
de su editor de texto
9 9 9
Proporciona una variedad de puntos de vista
sobre sus datos, a partir de múltiples
ventanas del proyecto a las opiniones de
archivos y la jerarquía, lo que le permite
9 9 9
7
profundizar en sus datos de forma rápida y
sencilla
Proporciona un excelente soporte para el
desarrollo de aplicaciones del lado del
servidor web y que utilizan la plataforma
Java EE.
9 9 8
Al probar la aplicación, el IDE proporciona
herramientas para el uso de JUnit.
9 9 9
Requerimientos Hardware 9 9 9
Configuración 9 9 10
Documentación 9 9 10
Integración otros Lenguajes Programación 9 9 9
Otros Plugin(Spring Boot *) 9 9 10
Promedio 8,92 8,77 9
Porcentaje 89% 88% 90%
De acuerdo con la Tabla 3, los Entornos de Desarrollo Integrado (IDE) analizados son
muy robustos, y su elección se da más por una cultura corporativa o por preferencia
personal y conocimiento propio sobre alguno de ello. Para el sistema antes mencionado
se prefirió Spring Tool Suite (STS) como Entorno de Desarrollo Integrado (IDE) por ser
más liviano, por tener un buen soporte con varios Framework y contar con una
documentación actualizada; ya que en la actualidad ha llegado a ser competencia directa
del estándar del JEE (Java Enterprise Edition).
Dentro de Spring hay muchas formas de crear aplicaciones web con diferentes
características y configuraciones, para en el “S.G.V.UCE” específicamente se utilizó la
tecnología Spring Boot, la misma que facilito incorporar ciertas configuraciones de forma
automática, y la utilización preferencialmente de Anotaciones en vez de archivos XML
de configuración, preocupándonos así solo de la lógica de negocios fundamentalmente.
* Spring Boot
“…Spring Boot facilita la creación de aplicaciones independientes basadas en Spring, de
calidad de producción, que se pueden "ejecutar". Tomamos una opinión de las bibliotecas
de la plataforma de Spring y de terceros para que pueda empezar a trabajar con un mínimo
8
esfuerzo. La mayoría de las aplicaciones Spring Boot necesitan muy poca configuración
de Spring.
Características:
• Crear aplicaciones Spring independientes.
• Incorpora Tomcat Embebido, Jetty o Undertow directamente (no es necesario
desplegar archivos WAR).
• Proporciona POMs de "arranque" para simplificar su configuración de Maven.
• Automáticamente configurar Spring siempre que sea posible.
• Proporcionar características listas para la producción como métricas, controles y
configuración externa.
• Absolutamente ninguna generación de código y ningún requisito para
la configuración XML.” (Spring Boot, 2017)
1.6.3 Interfaces de usuario
Existen varios Frameworks muy amigables e intuitivos para el diseño de interfaces de
usuarios, para la comparación de estos, se han utilizado los siguientes:
• Icefaces
• Primefaces
• Bootfaces
Tabla 4. Comparativo entre Interfaces de Usuario.
Características Icefaces Primefaces Bootfaces
Disponibilidad de Componentes 8 9 9
Componentes básicos, paneles,
tablas/grids, árbol, toolbar, menús,
html Editors, charts, date schedule y
un exportador de datos a Excel, Pdf,
Word entre otros.
8 9 9
Presentación 10 10 10
Plantillas 10 10 10
9
Navegación 10 10 10
AJAX 10 10 10
Facilidad para iniciar 9.33 9.7 10
Pocas dependencias 8 9 10
De fácil instalación
10 10 10
De fácil configuración al inicio del
proyecto
10 10 10
Documentación disponible 8 9 9
Tutoriales(libros), ejemplos (libros,
páginas web) y vídeo tutoriales
8 9 9
Rendimiento 8 8 9
Tiempos estadísticamente óptimos
de respuesta y procesamiento previo
a la visualización de información.
8 8 9
Totalmente responsiva 8 9 10
Menor Recurso Memoria 8 8 9
Promedio 8,333 8,833 9,43
Porcentaje 83% 88% 94%
En la Tabla 4, se puede visualizar el porcentaje obtenido en cada uno de los Frameworks
para el desarrollo de interfaces de usuarios analizados, mismo que nos ayudan a crear
pantallas más intuitivas y con una mejor adaptación de tamaño en su visualización, por
ende Bootfaces, fue el escogido para el desarrollo del “S.G.V.UCE”.
1.6.4 Servidores de Aplicaciones
En la tabla 5. realizamos un cuadro comparativo entre los diferentes Servidores de
aplicaciones más conocidos:
Tabla 5. Comparativo entre Servidores de Aplicaciones.
Características Wildfly 10 Glassfish 4.1 Tomcat 8
Volumen de usuarios 10 8 9
10
Información promedio
a almacenar 10 8 8
Rendimiento 9 8 9
Operaciones en
segundo 9 8 9
Porcentaje de error 9 9 9
Modificación en
caliente 10 8 8
Seguridad 9 9 9
Control de versiones 10 9 8
Soporte JSF 1.2 10 10 10
Soporte motor de
Business-rules 9 8 10
Soporte de Hibernate 9 8 10
Clustering 9 9 9
Promedio 9,42 8,50 9,00
Porcentaje 94% 85% 90%
De acuerdo con la Tabla 5, el Servidor de Aplicación Wildfly, tiene el más alto porcentaje,
en relación con las características técnicas analizadas, lo cual lo haría el más opcional a
utilizar; sin embargo, se optó por utilizar el Servidor de Aplicación Tomcat por temas de
preferencia en el uso del mismo y adicionalmente por tener este un porcentaje muy
cercano al Wildfly.
1.6.5 Motor de Base de Datos
El motor de base de datos es el que nos permite almacenar toda la información relacionada
al “S.G.V.UCE” de forma integrada y estructurada para posteriormente acceder a los
datos de forma rápida.
En la siguiente tabla podemos observar las tres bases de datos más relevantes:
Tabla 6. Comparación de Bases de Datos.
Características PostgreSQL 9.4 MySQL 5.7 DB2 Express 9.5
Multiplataforma 9 9 9
11
Memoria o
Almacenamiento
10 9 8
Lenguaje de
Programación
10 9 8
Seguridad 10 10 9
Backups 10 10 10
SSL 10 10 8
Encriptación de datos 10 10 10
Características
fundamentales
9.5 8.25 8
ACID 10 8 8
Control de
concurrencia
10 8 8
Procesamiento
distribuido de
transacciones
10 10 9
Seguridades 8 7 7
Acceso a datos 10 8.33 9
Índices 10 10 9
Vistas 10 10 9
Triggers 10 10 9
Cursores 10 10 9
Funciones y
Procedimientos
almacenados.
10 10 9
Soporte para
transacciones,
rollback’s y
subconsultas.
10 0 9
Alta disponibilidad 10 10 9
Recovery de
transacciones
erróneas
10 10 9
12
Funcionalidad 10 10 9
Clúster 10 10 9
Particionamiento de
tablas
10 10 9
Promedio 9.815 9.197 8.625
Porcentaje 98% 92% 86%
En base a la Tabla 6. se puede ver claramente que PostgreSQL es el mejor gestor de base
de datos a utilizar, ya que tiene buena documentación, cuenta con mayor tamaño de
almacenamiento en memoria, además es de código abierto.
1.6.6 Reportes
En la Tabla 7, realizamos un cuadro comparativo entre los programas de Reportes más
conocidos:
Tabla 7. Comparación de Reportes.
Características Jasper
Reports
Birt Pentaho
Reporting
Fuentes de datos 10 6,666 8,33
Fuentes de datos flexibles: que
pueda usar cualquier proveedor
como origen de datos
10 10 10
Crear conexiones a través de una
fuente de datos mediante scripts.
10 10 10
Utiliza la sesión factory existente
en la aplicación.
10 0 5
Soporte 9,5 6,5 5,25
Soporte Hibernate Query 10 10 5
Amplia variedad de plantillas y
diseño de informes
10 8 8
Subinformes 8 0 0
13
Integración con IDE’s 10 8 8
Tamaño 5 10 5
Gran cantidad de características
en forma de plug-in
0 10 10
La descarga contiene el código
fuente de Java, un archivo JAR
(por lo que no tiene que compilar
nada), posee los ejemplos y la
documentación.
10 10 0
Promedio 8,20 7,72 6,19
Porcentaje 82% 77% 62%
En la Tabla 7, se puede ver que Jasper Reports es el diseñador estándar de reportes para
Java incluyendo diferentes tipos de formatos. Por tal motivo se eligió el Jasper Reports
para utilizar en el “S.G.V.UCE”.
1.6.7 Arquitectura de Software
En la Tabla 8, realizamos un cuadro comparativo entre las Arquitecturas Software más
conocidas.
Tabla 8. Comparación de Arquitecturas Software.
Características Spring
Framework
JEE
Pruebas Unitarias 9 8
Integración con otras tecnologías 9 8
Madurez 8 9
Rapidez 9 8
Flexibilidad 9 7
Conectividad y extensibilidad 8 8
Curva Aprendizaje 8 8
Solidez 8 8
Numero de Variabilidad de Aplicaciones y adaptación 9 8
Soporte por parte de servidores de aplicaciones 8 9
14
Documentación Actualizada 9 9
Soporte JEE 7 9
Migración entre Servidores 8 9
Promedio 8.385 8.310
Porcentaje 84% 83%
En la Tabla 8, se puede ver que la competitividad entre ambas arquitecturas es pareja y
esto viene sucediendo desde hace muchos años atrás; sin embargo, vemos que
actualmente Spring Framework se muestra ligeramente un paso adelante al JEE, no
obstante, el software evoluciona, y la forma de hacer software también, es por esta razón
que se optó por la Arquitectura de Software que ofrece Spring Framework para el
“S.G.V.UCE”.
1.7 Fundamentación Legal
Por ser la Universidad Central del Ecuador una entidad pública y al poseer vehículos del
Estado asignados a cumplir funciones propias de la Institución, los mismos deben seguir
normas y reglamentos para la utilización, mantenimientos, movilización, control y
determinación de responsabilidades establecidas por el Artículo 211 de la Constitución
Política y en el Artículo 4 de la Ley Orgánica de la Contraloría General del Estado del
Ecuador, la cual se encuentra justificado en el ANEXO A.
15
2 METODOLOGÍA
2.1 Metodología investigativa
Esta metodología consta de dos métodos principalmente:
• Inductivo: este método de investigación nos dice que nos lleva de lo particular a
lo general o de una parte a un todo.
• Deductivo: este método nos dice que nos lleva de lo general a lo particular o de
lo complejo a lo simple.
Para el presente proyecto, se utilizó el método deductivo, ya que la Dirección General
Administrativa de la Universidad Central del Ecuador ya contaba con los procesos a
seguir para la generación de los permisos de circulación de los vehículos oficiales.
2.2 Metodología de desarrollado de software
La metodología para el desarrollo de software es un modo sistemático de realizar,
gestionar y administrar un proyecto para llevarlo a cabo con altas posibilidades de éxito.
Una metodología para el desarrollo de software comprende los procesos a seguir
sistemáticamente para idear, implementar y mantener un producto de software desde que
surge la necesidad del producto hasta que se cumple el objetivo para el cual fue creado,
haciendo uso de diversas herramientas, técnicas, métodos y modelos para el desarrollo
del proyecto.
Podemos encontrar dos tipos de metodología principales en el desarrollo de software:
• Metodologías tradicionales.
• Metodologías ágiles.
16
Para el desarrollo del “S.G.V.UCE”, se ha considerado hacer un análisis de algunas de
las características entre las metodologías RUP, SCRUM, Extrem Programming, las cuales
se detallan en la Tabla 9.
Tabla 9. Comparación de Metodologías de Software.
Características Rup Scrum Extrem Programing
(Xp)
Resultados 7 8 8
Simplicidad 7 8 8
Adaptabilidad 8 7 8
Excelencia técnica 8 7 7
Prácticas de colaboración 7 7 8
Carga de Trabajo 8 7 7
Soporte técnico continuo 7 8 8
Generación de
Documentación
8 7 8
Duración del Proyecto 8 7 7
Reutilización del código 8 7 8
Detección temprana de
errores
8 7 8
Curva de aprendizaje 6 7 8
Realización de reuniones
periódicas mientras dure
el proyecto.
7 8 8
Se basa en la creación de
producto.
7 8 8
Promedio 7.430 7.357 7.789
Porcentaje 75% 74% 78%
En la Tabla 9, se puede visualizar el valor obtenido en porcentaje de cada una de las
metodologías consideradas en el análisis. Haciendo caso a dicho análisis y tomando en
cuenta el nivel más alto en porcentaje, se ha escogió a la metodología eXtreme
Programming (XP) como metodología de desarrollo de software para aplicar en el
“S.G.V.UCE”.
17
2.3 Programación Extrema (XP)
La Metodología XP se basa en cuatro valores, que deben estar presentes en el equipo de
desarrollo para que el proyecto tenga éxito que serán descrito en Tabla 10.
Tabla 10. Valores de la Programación Extrema.
Valores Conceptos
Documentación
La comunicación permanente es fundamental en XP. Dado que
la documentación es escasa, el diálogo frontal, cara a cara, entre
desarrolladores, gerentes y el cliente es el medio básico de
comunicación. Una buena comunicación tiene que estar
presente durante todo el proyecto.
Simplicidad
XP, como metodología ágil, apuesta a la sencillez, en su
máxima expresión. Sencillez en el diseño, en el código, en los
procesos, etc. La sencillez es esencial para que todos puedan
entender el código, y se trata de mejorar mediante
recodificaciones continuas.
Retroalimentación
La retroalimentación debe funcionar en forma permanente. El
cliente debe brindar retroalimentación de las funciones
desarrolladas, de manera de poder tomar sus comentarios para
la próxima iteración, y para comprender, cada vez más, sus
necesidades. Los resultados de las pruebas unitarias son
también una retroalimentación permanente que tienen los
desarrolladores acerca de la calidad de su trabajo.
Coraje
Cuando se encuentran problemas serios en el diseño, o en
cualquier otro aspecto, se debe tener el coraje suficiente como
para encarar su solución, sin importar que tan difícil sea. Si es
necesario cambiar completamente parte del código, hay que
hacerlo, sin importar cuanto tiempo se ha invertido previamente
en el mismo.
18
2.4 Roles de la Programación Extrema
Los roles en un equipo de trabajo son esenciales para la construcción de proyectos, ya
que nos ayudan a organizar quienes se encargarán de cada una de las actividades que
deban realizarse en el transcurso de todo el proyecto, es por ello que en la programación
extrema existen varios roles a considerar, los que siempre deben estar presente en un
proyecto y algunos opcionales los cuales serán detallados en la Tabla 11.
Tabla 11. Roles de la Programación Extrema.
Roles Concepto
Programador
Es responsable de las decisiones técnicas y de construir el sistema.
Debe existir una comunicación y coordinación adecuada entre los
programadores y otros miembros del equipo.
Cliente o
Usuario
Determina que se va a construir en el sistema.
Encargado de
pruebas (Tester)
Colabora en la realización de las pruebas funcionales y a verificar
que las pruebas sean aprobadas.
Encargado de
seguimiento
(Tracker)
Se encarga de hacer seguimiento al proceso de ejecución y de
verificar si las estimaciones iniciales concuerdan con los
resultados de cada fase.
2.5 Fases de la Programación Extrema
En la Figura 2 se muestran las fases en las que se subdividen el ciclo de vida de un
proyecto en la Programación Extrema XP.
19
Figura 1. Fases de la Programación Extrema. (VILCA LINCANGO , 2015)
2.5.1 Planificación
Esta es la etapa inicial de todo proyecto en la metodología XP. En esta etapa se comienza
a interactuar con el cliente o dueño del software y el grupo a cargo del desarrollo para
descubrir necesidades del sistema. En esta fase se tienen los siguientes elementos:
• Historias de usuario
• Velocidad del proyecto
• Iteraciones
• Entregas pequeñas
• Reuniones
• Roles en XP
• Traslado del personal y ajuste a XP
A continuación, en la Tabla 12 se detallan cada uno de los elementos.
20
Tabla 12. Características de la Fase de Planificación
2.5.2 Diseño
En esta fase es donde se diseñan aquellas historias de usuario o requerimientos del sistema
a implementar, la cual es una tarea permanente durante todo el proyecto, ya que a medida
que se va avanzando se ira corrigiendo y mejorando el diseño. En la Tabla 13 se detallan
las características de esta fase.
Planificación
Historias
de usuario
Las historias de usuario son utilizadas como herramienta para dar a
conocer los requerimientos del sistema al equipo de desarrollo. Son
pequeños textos en los que el cliente describe una actividad que realizará
el sistema.
Plan de
Entrega
Al comenzar el proyecto se realiza una reunión entre el equipo de trabajo
y los clientes. El cliente expone las historias de usuario a los integrantes
de grupo, quienes estimarán el grado de dificultad de la implementación
de cada historia y un tiempo aproximado del cronograma de entrega de
cada historia con las correspondientes pruebas de aceptación.
Velocidad
del
proyecto
Esta medida se calcula totalizando el número de historias de usuario
realizadas en una iteración, esto ayuda a determinar la cantidad de
historias a desarrollar en las siguientes iteraciones, aunque no es de
manera exacta. Ya que varían según el grado de dificultad.
Iteraciones
La creación del sistema se divide en etapas para facilitar su realización,
los proyectos constan de más de tres etapas, las cuales toman el nombre
de iteraciones, la duración ideal de una iteración es de una a tres
semanas. Para cada iteración se define un módulo o conjunto de
historias que se van a implementar
Rotaciones
Esta metodología aconseja la programación en pareja ya que incrementa
la productividad y la calidad del software, ya que mientras uno codifica
el otro analiza si el método o función es adecuado o si está bien diseñado.
Reuniones
El planeamiento es esencial para cualquier tipo de metodología. A pesar
de ser una metodología que evita la documentación exagerada, es muy
estricta en la organización del trabajo.
21
Tabla 13. Características de la Fase de Diseño.
2.5.3 Desarrollo
La fase de codificación es un proceso que se realiza en forma paralela con el diseño y la
cual está sujeta a varias observaciones por parte de XP, como disponibilidad cliente,
aplicación de estándares, rotación de los programadores o la programación en parejas, en
Diseño
Simplicidad en el
diseño
Se considera que un diseño sencillo se logra más rápido y se
implementa en menos tiempo, por lo cual esto es lo que se
busca. La idea es que se haga el diseño más sencillo que cumpla
con los requerimientos de las historias de usuarios.
Metáfora del
Sistema
Se trata de plasmar la arquitectura de sistema en una “historia”
con la cual se le dé al grupo de desarrollo una misma visión
sobre el proyecto.
Tarjetas clase,
responsabilidad,
colaboración(CRC)
Nos ayudan a dejar el pensamiento procedimental para
incorporase al enfoque orientado a objetos. Cada tarjeta
representa una clase con su nombre en la parte superior, en la
sección inferior están descritas la responsabilidad y a la derecha
las clases que sirven de soporte.
Soluciones
Puntuales
Se trata de una pequeña aplicación completamente
desconectada del proyecto con la cual se intenta explorar el
problema de algún requerimiento de los clientes (en este caso
historias de usuario) los cuales generan problemas desde el
punto de vista del diseño o la implementación, Propone una
solución potencial. Puede ser burda y simple, siempre que
brinde la información suficiente para enfrentar el problema
encontrado.
Funcionalidad
Mínima
Las mejoras al final
Reciclaje
El reciclaje implicará mantener el código limpio y fácil de
comprender, modificar y ampliar
22
la Tabla 14 se detallan estas características de esta fase.
Tabla 14. Características de la Fase de Codificación.
2.5.4 Pruebas
En esta fase la metodología XP enfatiza mucho los aspectos relacionados con las pruebas,
indicando quién, cuándo y cómo deben ser implementadas y ejecutadas en el desarrollo
de software, ya que del buen uso de las pruebas dependerá el éxito de otras prácticas. Por
ejemplo, solo se debe liberar una nueva versión si esta ha pasado el cien por ciento de la
Codificación
Disponibilidad del
Cliente
Uno de los requerimientos de XP es que el cliente esté siempre
disponible. No solamente para solucionar las dudas del grupo
de desarrollo, debería ser parte de éste, especialmente para
garantizar que lo implementado cubre con las necesidades
planteadas en las historias de usuario.
Unidad de Pruebas
Una de las ventajas de crear una prueba antes que el código
es que permite identificar los requerimientos de dicho código.
Es decir, al escribir primero las pruebas se encuentran de una
forma más sencilla y con mayor claridad todos los casos
especiales que debe considerar el código a implementar.
Programación por
parejas
Todo el código debe ser creado por parejas de programadores
sentados ambos frente a un único computador, cuando se trabaja
en parejas se obtiene un diseño de mejor calidad y un código
más organizado y con menores errores que si se trabajase solo
Integración
Integración Secuencial: La metodología XP propone que se
emplee un esquema de turnos con el cual solo una pareja de
programadores se integre a la vez. Con lo cual se tiene plena
seguridad de cuál es la última versión liberada.
Integraciones frecuentes: Se deben hacer integraciones en
pocas horas, y siempre que sea posible no debe transcurrir más
de un día entre una integración y otra. De esta forma se garantiza
que no surjan problemas como que un programador trabaje
sobre versiones obsoletas de alguna clase.
23
totalidad de pruebas; a continuación, se detalla en la Tabla 15 las características del tipo
de pruebas a considerar en esta fase.
Tabla 15. Características de la Fase de Pruebas.
Pruebas
Implantación
(Pruebas
Unitarias)
Estas pruebas se aplican a todos los métodos no triviales de
todas las clases del proyecto, el empleo de pruebas unitarias
completas facilita la liberación continua de versiones por
cuanto al implementar algo nuevo y actualizar la última versión,
solo es cuestión de ejecutar de forma automática las pruebas
unitarias ya creadas para saber que la nueva versión no contiene
errores.
Pruebas de
Aceptación
Las pruebas de aceptación, también llamadas pruebas
funcionales son supervisadas por el cliente basándose en los
requerimientos tomados de las historias de usuario. En todas las
iteraciones, cada una de las historias de usuario seleccionadas
por el cliente deberá tener una o más pruebas de aceptación, de
las cuales deberán determinar los casos de prueba e identificar
los errores que serán corregidos
24
3 DESARROLLO DE LA APLICACIÓN
De acuerdo, a lo citado en el apartado 2, vamos aplicar la metodología de software en el
“S.G.V.UCE”, la cual nos ayudará a la correcta implementación del proyecto,
gestionando así la información de forma integrada y precisa de los vehículos oficiales de
la Institución, además de emitir los documentos habilitantes (salvoconductos, ordenes de
movilización, mantenimientos, registro de combustible, entre otros) para que el vehículo
circule con normalidad.
3.1 Planificación
3.1.1 Historias de Usuarios
En esta parte el personal designado por el área de la gestión vehicular de la Dirección
General Administrativa de la Universidad Central del Ecuador describió las
características o requerimiento que debe de poseer el “S.G.V.UCE”, así como la
generación de los documentos habilitantes, los cuales se han considerado ponerlas en la
Tabla 16, como historias de usuarios.
Tabla 16. Historias de Usuario.
Numero
Historia
Usuario
Historia Usuario Tareas
1 Creación de la Base de Datos - Creación y Modelado del base de
datos con la información integrada
2
Inserción, editado, búsqueda
de unidades Académicas o
administrativa
- El Sistema debe poder insertar,
editar, buscar una Unidad ya sea
Académica o Administrativa.
3
Inserción, Editado, búsqueda
de Vehículos y Conductores al
Sistema
- El Sistema debe poder insertar,
editar, buscar un vehículo con todas
sus características y de la misma
forma poder registra el conductor
25
4 Asignación de Custodios de
Vehículos a Conductores
- El sistema deberá poder Asignar un o
más vehículos a conductores en
modalidad de custodio del mismo
5 Roles de usuarios en el
Sistema
- El sistema debe manejar tema de
seguridad en la aplicación, así como
permisos y roles de usuarios.
6 Tipos de Salvoconducto para
los vehículos oficiales
- El sistema debe emitir un documento
habilitante para la circulación del
vehículo semanal
7 Ordenes de Movilización
- El sistema debe emitir un documento
para el control de la circulación
diaria del mismo en la institución.
- Se debe poder controlar que tenga un
salvoconducto vigente previo a la
generación de la orden de
movilización, así como control de
kilometraje de próximos
mantenimientos.
8 Orden Trabajo y tipo de
Mantenimiento del vehículo
- El sistema debe emitir una orden de
trabajo la cual especifica el tipo de
mantenimiento del vehículo a
realizar.
- También debe poder registrar una
vez realizado el mantenimiento los
datos del chequeo, así como su
costo total
9 Registro de Combustible
- El sistema debe poder registrar los
datos de la carga de combustible por
vehículo y cada que tiempos se lo
realiza.
10
Registro de Titulares de Cada
Unidad Académica o
Administrativa y datos de
usuarios en el sistema
- El sistema debe poder gestionar el
responsable del sistema de cada
Unidad Académica o
Administrativa.
26
- Así como también saber quién es el
titular de cada Unidad.
11
Asignación de Talleres
Autorizados a Unidades
Académicas o Administrativas
- El sistema deberá poder asignar el
taller con el que trabaja cada
Unidad, así como registrar nuevos
talleres y asignaciones a Unidades.
12 Reportes de la información
- El sistema debe poder exportar toda
la información relevante del sistema
“S.G.V.UCE” a formato Excel.
3.1.2 Plan de Entrega
Para el “S.G.V.UCE” se mantuvo las reuniones respectivas, a fin de considerar los
requerimientos o historias de usuarios anteriormente mencionadas en la Tabla 16, y a
pesar del grado de dificultad de ciertas historias de usuarios a implementar, se terminó
con éxito los requerimientos dentro del tiempo establecido lo cual fue 6 meses.
3.1.3 Iteraciones
En base a los procesos establecidos por parte del personal del área vehicular, designado
por la Dirección General Administrativa de la Institución, el “S.G.V.UCE” fue dividido
en siete iteraciones, las mismas que se detallan en la Tabla 17, por lo que se obtuvo un
total de siete entregas, en las cuales se desarrollaron todas las partes del sistema
completamente funcionales con las pruebas necesarias.
El orden para el desarrollo de las iteraciones se eligió debido a la lógica de negocio
requerida por el personal del área vehicular. Las entregas fueron presentadas en el tiempo
estipulado, sin presentarse observaciones.
Tabla 17. Iteraciones del Sistema.
Numero de
Iteración
Numero de Historia
de Usuario
Contenido de las Historias
1 1 Creación de la Base de Datos
27
2
2 Inserción, editado, búsqueda de
unidades Académicas o administrativa
3 Inserción, Editado, búsqueda de
Vehículos y Conductores al Sistema
10
Registro de Titulares de Cada Unidad
Académica o Administrativa y datos de
usuarios en el sistema
3
4
Registro de Titulares de Cada Unidad
Académica o Administrativa y datos de
usuarios en el sistema
11
Asignación de Talleres Autorizados a
Unidades Académicas o
Administrativas
4 6 Tipos de Salvoconducto para los
vehículos oficiales
5 7 Ordenes de Movilización
9 Registro de Combustible
6 8 Orden Trabajo y tipo Mantenimiento
del vehículo
7 5 Roles de usuarios en el Sistema
12 Reporte de la Información
3.1.4 Reuniones
Para la revisión y entrega del “S.G.V.UCE”, las reuniones se realizaron en las
instalaciones de la Dirección General Administrativa de la Universidad Central del
Ecuador, los días jueves de cada semana de 14:00 PM a 15:00 PM.
3.2 Diseño
Esta Fase fue de constante reestructuración, ya que a pesar de ser la Universidad Central
del Ecuador una Institución pública y con una flota vehicular numerosa, no se disponía
28
de un sistema web completo para el área vehicular con información integrada y validada
en una base de datos.
3.2.1 Proceso de orden de movilización y salvoconductos
Como se puede apreciar en la Figura, muestra el proceso establecido y analizado por parte
del personal del área vehicular designado por la Dirección General Administrativa de la
Universidad Central del Ecuador, para la emisión de orden de movilización y
salvoconductos, los cuales deben ser seguidos de forma correcta.
Figura 2. Proceso Orden Movilización y Salvoconductos. (Quimbita, 2017)
29
3.2.2 Proceso de Mantenimiento Vehicular
En la Figura que se muestra a continuación, se visualiza cual es el proceso establecido y
analizado por parte del personal del área vehicular designado por la Dirección General
Administrativa de la Universidad Central del Ecuador para el manejo y reglamentación
de los documentos habilitantes para el mantenimiento de los vehículos oficiales.
Figura 3. Proceso Mantenimiento Vehicular. (Quimbita, 2017)
30
3.2.3 Modelo Entidad – Relación
La presente Figura 4, muestra el modelo entidad-relación utilizado para el diseño del
“S.G.V.UCE”, mismo que contiene 23 tablas para el almacenamiento de los diferentes
datos de forma integrada y detalla.
Figura 4. Modelo Entidad- Relación.
3.2.4 Reciclaje
Una vez estando en el desarrollo del “S.G.V.UCE”, se observó situaciones que al
principio no fueron tomadas en cuenta, entonces se procedió a la refactorización de las
partes afectadas, unas de estas situaciones fue por ejemplo la visualización de la foto del
conductor en el salvoconducto y la orden de movilización.
Relationship_52
Relationship_51
Relationship_41
Relationship_39
Relationship_35
Relationship_34
Relationship_38
Relationship_36
Relationship_33
Relationship_50
Relationship_49
Relationship_48
Relationship_47
Relationship_46
Relationship_45
Relationship_42
Relationship_43
Relationship_44
Relationship_37
Relationship_40
Relationship_32
Relationship_31
Relationship_27
Relationship_26
Relationship_25
Relationship_19
Relationship_15
Relationship_14
Relationship_11
Relationship_10
Relationship_9
Relationship_6
Relationship_5
Relationship_4
TipoLicencia
id_tipo_licencia
tipo_licencia
descripcion
Serial
Variable characters (255)
Variable characters (255)
Identifier_1
Dependencia
id_dependencia
nombre_dependencia
lugar
telefono
ruc
correo_dependencia
siglas
pertenece
Serial
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Identifier_1
Rol
id_user_role
cedula_titular
username
role
Serial
Variable characters (255)
Variable characters (255)
Variable characters (255)
Identifier_1
Cargo
id_cargo
nombre_cargo
Serial
Variable characters (255)
Identifier_1
TipoVehiculo
id_tipo_vehiculo
id_clase
nombre_tipo_vehiculo
capacidad
Serial
Integer
Variable characters (255)
Integer
Marca
id_marca
nombre_marca
Serial
Variable characters (255)
Identifier_1
Color
id_color
nombre_color
Serial
Variable characters (255)
Identifier_1
ModeloVehiculo
id_modelo
nombre_modelo
Serial
Variable characters (255)
Identifier_1 Vehiculo
numero_placa
id_color
id_modelo
id_dependencia
id_marca
id_tipo_vehiculo
motor
chasis
pais_origen
cilindraje
anio_fabricacion
matricula
fecha_caducidad_matricula
estado_vehiculo
fecha_inicio_inactividad
causa
Variable characters (255)
Integer
Integer
Integer
Integer
Integer
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Integer
Variable characters (255)
Date
Variable characters (255)
Date
Variable characters (255)
Identifier_1
Conductores
cedula
id_dependencia
id_cargo
nombre_conductor
apellido_conductor
direccion_conductor
celular_conductor
telefono_conductor
vigencia_lic_conductor
punto_licencia
foto
asignacion_conductor
nombre_estado
descripcion_estado
Variable characters (255)
Integer
Integer
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Date
Float
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Identifier_1
TipoLicenciaConductor
id_tipo_licencia_conductor
id_tipo_licencia
cedula
Serial
Integer
Variable characters (255)
Identifier_1
OrdenMovilizacion
id_orden_movilizacion
id_salvoconducto
cedula_titular
id_dependencia
id_orden_trabajo
fecha_expedicion
destino
fecha_salida
hora_salida
kilometraje_salida
motivo_movilizacion
fecha_retorno
hora_aproximada_retorno
kilometraje_retorno
kilometraje_aproximado_retorno
estado_orden
numero_personas
hora_real_retorno
Serial
Integer
Variable characters (255)
Integer
Integer
Date
Variable characters (255)
Date
Time
Integer
Variable characters (255)
Date
Time
Integer
Integer
Variable characters (255)
Integer
Time
Identifier_1
Salvoconducto
id_salvoconducto
cedula
numero_placa
cedula_titular
id_dependencia
fecha_inicio
fecha_salida
motivo_salvoconducto
estado _salvoconducto
fecha_expedicion
numero_oficio
numero_personas
tipo_salvoconducto
lugar_destino
lugar_origen
numero_oficio_extraordinario
ciudad_generado
responsable_extra
cargo_resp_extra
Serial
Variable characters (255)
Variable characters (255)
Variable characters (255)
Integer
Date
Date
Variable characters (255)
Variable characters (255)
Date
Variable characters (255)
Integer
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
ConductoresVehiculo
id_conductor_vehiculo
cedula
numero_placa
Serial
Variable characters (255)
Variable characters (255)
Identifier_1
TalleresAutorizados
id_taller_autorizado
nombre_taller
direccion_taller
telefono
ruc
representante_legal
vigencia_convenio
Serial
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Date
Identifier_1
Dependencia_TallerAutorizado
id_dependencia_taller
id_dependencia
id_taller_autorizado
Identifier_1
Combustible
id_combustible
id_dependencia
id_salvoconducto
razon_motivo
numero_comprobante
fecha_carga
hora_carga
cantidad_x_galones
precio_unidad
precio_total
nombre_gasolinera
direccion_gasolinera
kilometraje_actual
diferencia_dias_carga
tipo_combustible
costo_acumulado
diferencia_kilometraje_carga
Serial
Integer
Integer
Variable characters (255)
Long integer
Date
Time
Float
Float
Float
Variable characters (255)
Variable characters (255)
Integer
Integer
Variable characters (255)
Float
Integer
Identifier_1
TitularesDependencia
cedula_titular
id_dependencia
nombre_titular
cargo_titular
username
password
email_titular
celular_titular
enabled
titular_resp_sistema
estadoTitular
Variable characters (255)
Integer
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Variable characters (255)
Boolean
Variable characters (10)
Variable characters (255)
Identifier_1
mantenimiento
id_mantenimiento
id_orden_trabajo
id_dependencia
fecha_inicio
fecha_salida
motivo_mantenimiento
costo_mantenimiento
observaciones
Serial
Integer
Integer
Date
Date
Variable characters (255)
Float
Variable characters (255)
Identifier_1
ClaseVehiculo
id_clase
nombre_clase
Serial
Variable characters (255)
Identifier_1
OrdenTrabajo
id_orden_trabajo
numero_placa
cedula
id_dependencia
id_taller_autorizado
cedula_titular
km_actual_vehiculo
tipo_mantenimiento
numero_solicitud
fecha_expedicion
fecha_ingreso
fecha_salida
numero_informe_tecnico
detalle_orden_mantenimiento
km_ultimo_mantenimiento
fecha_ultimo_mantenimiento
motivo_mantenimiento
Serial
Variable characters (255)
Variable characters (255)
Integer
Integer
Variable characters (255)
Integer
Variable characters (255)
Variable characters (255)
Date
Date
Date
Variable characters (255)
Variable characters (255)
Integer
Date
Variable characters (255)
Identifier_1 categoriamantenimiento
id_categoria
nombre_categoria
Serial
Variable characters (255)
Identifier_1
listacategoria
id-lista_categoria
id_categoria
lista_categoria
Serial
Integer
Variable characters (255)
Identifier_1
31
3.3 Desarrollo
En la implementación del “S.G.V.UCE” como el personal del área vehicular designado
por la Dirección General Administrativa de la Universidad Central del Ecuador no podía
trasladarse a otra área por cuestiones de espacio y tiempo, se determinó ir al área de
trabajo de dicho personal en un horario establecido, para muestras de adelanto,
inquietudes y revisión.
3.3.1 Roles y Asignaciones de usuarios en el “S.G.V.UCE”
Como la Universidad Central del Ecuador cuenta con varias Unidades Académicas y
Administrativas, las mismas que tienen vehículos asignados para sus labores diarias, y
deben ser autorizados por el titular de cada Unidad; por tanto, el “S.G.V.UCE” dispone
de 2 tipos de perfiles, el Administrador y el Usuario, los cuales están detallados en las
siguientes Figuras:
• Asignación del Administrador
El administrador podrá asignar las siguientes tareas; que se ve en la siguiente figura:
Figura 5. Asignación del Administrador.
• Roles del Administrador
El administrador tendrá los siguientes roles; que se muestra en las tres figuras siguientes:
Figura 6. Roles del Administrador
32
Figura 7. Roles del Administrador.
33
Figura 8. Roles del Administrador.
34
• Roles del Usuario
El usuario contará con los siguientes roles, los cuales se detallan en la siguiente figura:
Figura 9. Roles del Usuario.
3.3.2 Orden de Movilización Generado por el “S.G.V.UCE”
En la presente Figura se visualiza la pantalla encargada de registrar una orden de
movilización por un usuario de cualquier Unidad Académica o Administrativa en el
“S.G.V.UCE”.
Figura 10. Pantalla de registro de Orden de Movilización.
35
En la siguiente Figura se puede ver el documento generado por el “S.G.V.UCE”, mismo
que es el único documento habilitante para que el vehículo pueda salir del campus de la
Universidad Central del Ecuador.
Figura 11. Orden de Movilización.
3.3.3 Salvoconductos Generado por el “S.G.V.UCE”.
En la presente Figura se gestiona el Salvoconducto Ordinario Normal en el
“S.G.V.UCE”, el cual es emitido para días y horas laborables.
Figura 12. Salvoconducto Ordinario Normal.
36
En la Figura que se muestra a continuación se puede ver el Salvoconducto generado por
el “S.G.V.UCE”, el cual es el documento habilitante para que el vehículo del Estado
pueda circular dentro del Distrito Metropolitano de Quito con normalidad.
Figura 13. Pdf del Salvoconducto Ordinario Normal.
3.3.4 Orden de Trabajo Generado por el “S.G.V.UCE”.
En la siguiente presente Figura se gestiona la Orden de Trabajo para solicitar el tipo de
mantenimiento que tendrá el vehículo, ya sea en base a su kilometraje de recorrido
determinado en el “S.G.V.UCE”, o cualquier otra necesidad del mismo.
Figura 14. Orden de trabajo.
37
En la siguiente Figura se puede observar una orden de trabajo, con la cual se solicita el
mantenimiento preventivo del vehículo llegado su kilometraje límite, en formato pdf.
Figura 15. Pdf de Orden de Trabajo.
3.3.5 Registro de Combustible Generado por el “S.G.V.UCE”.
En la presente Figura se puede registrar la carga de combustible por cada vehículo en el
“S.G.V.UCE”, lo cual permite llevar un control de la cantidad de combustible
consumido.
38
Figura 16. Registro de Combustible.
En la Figura mostrada a continuación se puede observar un reporte de la carga de
combustible por vehículo en el “S.G.V.UCE”, la cual es generada en formato pdf.
Figura 17. Pdf del Reporte de Combustible.
39
3.4 Pruebas
3.4.1 Prueba SQL Injection
Esta prueba consiste en realizar las inyecciones SQL, misma que es aplicada en el
momento de la autenticación del usuario.
Figura 18. Pantalla de Login
En la Figura anterior, se observa dos campos que son comúnmente utilizados por los
atacantes, en los cuales estos intentan ingresar como administrador, usuario etc., sin estar
registrado o sin tener permi