ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf ·...

104
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA DE SISTEMAS DESARROLLO DE UNA APLICACIÓN WEB PARA LA GESTIÓN DE MOVIMIENTO DE PAQUETES PARA EMPRESAS DE COURIER. APLICACIÓN A UN CASO DE ESTUDIO PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN NICOLALDE FREIRE DAVID ALEJANDRO [email protected] PÉREZ ALMEIDA DIEGO ANDRÉS [email protected] DIRECTOR: MSc. Ing. MARCOS RAÚL CÓRDOVA BAYAS [email protected] Quito, Noviembre 2013

Transcript of ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf ·...

Page 1: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA DE SISTEMAS

DESARROLLO DE UNA APLICACIÓN WEB PARA LA GESTIÓN

DE MOVIMIENTO DE PAQUETES PARA EMPRESAS DE

COURIER. APLICACIÓN A UN CASO DE ESTUDIO

PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN

SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN

NICOLALDE FREIRE DAVID ALEJANDRO

[email protected]

PÉREZ ALMEIDA DIEGO ANDRÉS

[email protected]

DIRECTOR: MSc. Ing. MARCOS RAÚL CÓRDOVA BAYAS

[email protected]

Quito, Noviembre 2013

Page 2: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

DECLARACIÓN

Nosotros, Diego Andrés Pérez Almeida, David Alejandro Nicolalde Freire

declaramos bajo juramento que el trabajo aquí descrito es de nuestra autoría; que

no ha sido previamente presentada para ningún grado o calificación profesional; y,

que hemos consultado las referencias bibliográficas que se incluyen en este

documento.

A través de la presente declaración cedemos nuestros derechos de propiedad

intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional,

según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por

la normatividad institucional vigente.

Diego Andrés Pérez Almeida David Alejandro Nicolalde Freire

Page 3: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

CERTIFICACIÓN Certifico que el presente trabajo fue desarrollado por Diego Andrés Pérez Almeida

y David Alejandro Nicolalde Freire, bajo mi supervisión.

Ing. Raul Córdova Bayas

DIRECTOR DE PROYECTO

Page 4: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

AGRADECIMIENTOS Gracias a todos los que estuvieron conmigo a lo largo de este proyecto y

confiaron en mí.

A Deivid, por ser más que un compañero un amigo incondicional.

A mi Pauli, que me apoyó y acompañó desde que comencé hasta que terminé.

A mi familia, amigos, a nuestro director Raúl Córdova, a mis profes de la poli. A

todos, Gracias!

Diego

Page 5: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

AGRADECIMIENTOS

Tomando las palabras de un grande de la música:

"¡No solo no hubiéramos sido nada sin

ustedes, sino con toda la gente que

estuvo a nuestro alrededor desde el

comienzo; algunos siguen hasta hoy!

¡Gracias totales!"

Gustavo Cerati

Soda Stereo, 1997

Gracias a mi pana Diego por los buenos y malos ratos. ¡Lo Logramos!

Gracias a todos los panas de la escuelita, del cole y de la U. ¡Toda la vida

carnaval!

Pocas palabras. Sencillas y complejas a la vez. A todos los que se cruzaron y

dejaron su huella en este largo camino, ¡GRACIAS TOTALES!

Niko

Page 6: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

DEDICATORIA A Laura. Mi tía, mi segunda madre.

Diego

Page 7: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

DEDICATORIA A Ustedes, mis padres, de la paciencia, el amor y mentes lúcidas que aún me

guían inapagables.

A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia y mirada

cautivante.

A Ustedes mis hermanos, de diferencias y similitudes grabadas en anécdotas

coleccionables.

A Ustedes mis sobrinas, la alegría, las ocurrencias, las enseñanzas y caritas

pintadas de colores.

A Ustedes, mi familia de cimientos firmes, unión duradera y siempre con ganas de

ayudarte.

Y a Ustedes los de la amistad sincera, paso nocturno, buen juego, risas e

historias interminables.

Niko

Page 8: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

CONTENIDO 1. CAPÍTULO I: PLANTEAMIENTO DEL PROBLEMA .................................................................................. 1

1.1 DESCRIPCIÓN GENÉRICA DE LOS PROCESOS DE LAS EMPRESAS DE COURIER .................................. 1 1.1.1 EMPRESAS DE COURIER ............................................................................................................... 1 1.1.2 Procesos de una empresa courier ................................................................................................ 3

1.1.2.1 Gestión Administrativa y Logística ..................................................................................................... 3 1.1.2.2 Gestión Jurídica .................................................................................................................................. 4 1.1.2.3 Gestión de Tecnologías de la Información y Comunicaciones ............................................................ 6 1.1.2.4 Gestión de Servicio al Cliente ............................................................................................................. 7 1.1.2.5 Gestión de Comercialización y Ventas ............................................................................................... 8 1.1.2.6 Courier................................................................................................................................................ 9

1.1.2.6.1 Terminología.................................................................................................................................. 9 1.1.2.6.2 Categorización de mercaderías para Courier .............................................................................. 10 1.1.2.6.3 Proceso de importación............................................................................................................... 11 1.1.2.6.4 Proceso de Desaduananización (Nacionalización de mercadería) ............................................... 13 1.1.2.6.5 Proceso de Liquidación ................................................................................................................ 14

1.1.3 SITUACIÓN ACTUAL ................................................................................................................... 15 1.1.4 PROPUESTA DE SOLUCIÓN ......................................................................................................... 15

1.2 SELECCIÓN Y JUSTIFICACIÓN DE METODOLOGÍA DE DESARROLLO ................................................ 16 1.2.1 CARACTERÍSTICAS DEL PROYECTO ............................................................................................. 16 1.2.2 METODOLOGÍAS TRADICIONALES VS ÁGILES............................................................................. 17 1.2.3 SELECCIÓN DE METODOLOGÍA DE DESARROLLO ÁGIL .............................................................. 19

1.3 SELECCIÓN Y JUSTIFICACIÓN DE HERRAMIENTAS DE DESARROLLO ............................................... 21 1.3.1 SISTEMA DE GESTIÓN DE BASE DE DATOS (DBMS) .................................................................... 21 1.3.2 LENGUAJE DE PROGRAMACIÓN ................................................................................................ 21 1.3.3 FRAMEWORK DE DESARROLLO ................................................................................................. 22

1.3.3.1 Kohana Framework [26] ................................................................................................................... 22 1.3.3.2 Zend PHP [27] ................................................................................................................................... 23 1.3.3.3 Symfony [28] .................................................................................................................................... 23 1.3.3.4 Kohana Framework vs Zend PHP vs Symfony ................................................................................... 24

1.3.4 SERVIDOR WEB .......................................................................................................................... 24 1.3.5 ENTORNO DE DESARROLLO INTEGRADO (IDE) .......................................................................... 25 1.3.6 HERRAMIENTAS CASE ................................................................................................................ 25

1.4 PRESUPUESTO GENERAL DEL SISTEMA .......................................................................................... 25

2. CAPÍTULO II: DESARROLLO DEL SISTEMA .......................................................................................... 28

2.1 REQUERIMIENTOS .......................................................................................................................... 28 2.1.1 USUARIOS DEL SISTEMA ............................................................................................................ 28

2.1.1.1 Administrador .................................................................................................................................. 28 2.1.1.2 Gerente ............................................................................................................................................ 28 2.1.1.3 Operador de Call Center (Servicio al Cliente) ................................................................................... 28 2.1.1.4 Operador de Call Center (Publicidad) ............................................................................................... 29

2.1.2 HISTORIAS DE USUARIO ............................................................................................................. 29 2.1.2.1 Gestión Administrativa ..................................................................................................................... 30 2.1.2.2 Gestión de Carga .............................................................................................................................. 32 2.1.2.3 Gestión de Reportes ......................................................................................................................... 33

2.2 ANÁLISIS ......................................................................................................................................... 34 2.2.1 ESTIMACIÓN DE ESFUERZO........................................................................................................ 34 2.2.2 Priorización ................................................................................................................................ 35 2.2.3 PLAN DE ENTREGAS ................................................................................................................... 36

2.3 DISEÑO ........................................................................................................................................... 37 2.3.1 DISEÑO ARQUITECTÓNICO DEL SISTEMA .................................................................................. 37

2.3.1.1 Arquitectura MVC (Modelo – Vista – Controlador) .......................................................................... 37 2.3.2 TARJETAS CRC ............................................................................................................................ 38

2.3.2.1 TARJETAS CRC DEL SISTEMA ............................................................................................................. 39 2.3.3 DIAGRAMA DE CLASES ............................................................................................................... 43

2.3.3.1 Elementos y sintaxis de un diagrama de clases ................................................................................ 43

Page 9: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

2.3.3.1.1 Clase ............................................................................................................................................ 43 2.3.3.1.2 Atributos ...................................................................................................................................... 44 2.3.3.1.3 Métodos ...................................................................................................................................... 44 2.3.3.1.4 Relaciones ................................................................................................................................... 44

2.3.3.2 Diagrama de Clases del Sistema ....................................................................................................... 47 2.3.4 DIAGRAMA FÍSICO DE LA BASE DE DATOS ................................................................................. 48

2.3.4.1 Diccionario de Datos del Sistema ..................................................................................................... 50 2.3.5 DISEÑO DE INTERFACES DE USUARIO ........................................................................................ 57

2.3.5.1 Consideraciones Generales .............................................................................................................. 58 2.4 IMPLEMENTACIÓN ......................................................................................................................... 61

2.4.1 PROGRAMACIÓN ....................................................................................................................... 61 2.4.1.1 PHP ................................................................................................................................................... 61

2.4.1.1.1 Estándares de programación PHP ............................................................................................... 61 2.4.1.1.2 Modelos en Kohana Framework .................................................................................................. 64 2.4.1.1.3 Controladores en Kohana Framework ......................................................................................... 64 2.4.1.1.4 Vistas en Kohana Framework ...................................................................................................... 66

2.4.2 JQUERY (JAVASCRIPT) ................................................................................................................ 67 2.4.3 CSS (CaSCADE STYLE SHEETS) .................................................................................................... 68

PRUEBAS ............................................................................................................................................. 69 2.5 ............................................................................................................................................................... 69

2.5.1 Pruebas de aceptación ............................................................................................................... 69

3. CAPÍTULO III: CASO DE ESTUDIO ....................................................................................................... 76

3.1 DESCRIPCIÓN DEL CASO DE ESTUDIO ............................................................................................. 76 3.2 IMPLEMENTACIÓN DEL SISTEMA ................................................................................................... 77 3.3 ANÁLISIS DE RESULTADOS .............................................................................................................. 82

4. CONCLUSIONES Y RECOMENDACIONES ......................................... ¡ERROR! MARCADOR NO DEFINIDO.

4.1 CONCLUSIONES .............................................................................................................................. 85 4.2 RECOMENDACIONES ...................................................................................................................... 86

BIBLIOGRAFÍA ........................................................................................................................................... 87

GLOSARIO ................................................................................................................................................. 89

ANEXOS .................................................................................................................................................... 91

Page 10: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

ÍNDICE DE TABLAS

Tabla 1.1: Clasificación de Mercaderías para envíos mediante Courier .......................................... 11 Tabla 1.2: Valores de impuestos y tributos por categoría de mercadería de Courier ..................... 14 Tabla 1.3: Metodologías Tradicionales vs Metodologías ágiles ....................................................... 18 Tabla 1.4: Tabla de Ponderación ...................................................................................................... 20 Tabla 1.5: Características de principales metodologías ágiles ......................................................... 20 Tabla 1.6: Kohana vs Zend PHP vs Symfony ..................................................................................... 24 Tabla 1.7: Presupuesto de Recursos Humanos ................................................................................ 26 Tabla 1.8: Presupuesto de Gastos Administrativos .......................................................................... 26 Tabla 1.9: Presupuesto de Gastos en Hardware .............................................................................. 26 Tabla 1.10: Presupuesto de Gastos en Software ............................................................................. 26 Tabla 1.12: Presupuesto General del Sistema .................................................................................. 27 Tabla 2.1: Historia de Usuario – Administración de Perfiles ............................................................ 30 Tabla 2.2: Historia de Usuario – Administración de Usuarios. ......................................................... 30 Tabla 2.3: Historia de Usuario – Administración de Contactos. ....................................................... 30 Tabla 2.4: Historia de Usuario – Administración de Competencia. ................................................. 31 Tabla 2.5: Historia de Usuario – Administración de Clientes. .......................................................... 31 Tabla 2.6: Historia de Usuario – Administración de Prospectos. ..................................................... 31 Tabla 2.7: Historia de Usuario – Administración de Tipos de Carga. ............................................... 32 Tabla 2.8: Historia de Usuario – Administración de Agentes Destinatarios. ................................... 32 Tabla 2.9: Historia de Usuario – Administración de Promociones. .................................................. 32 Tabla 2.10: Historia de Usuario – Administración de Paquetes. ...................................................... 33 Tabla 2.11: Historia de Usuario – Reporte de Clientes/Prospectos. ................................................ 33 Tabla 2.14: Priorización de historias de usuario. ............................................................................. 36 Tabla 2.15: Plan de Entregas. ........................................................................................................... 36 Tabla 2.16: Tarjeta CRC - Cliente ...................................................................................................... 39 Tabla 2.17: Tarjeta CRC - Observación ............................................................................................. 39 Tabla 2.18: Tarjeta CRC - Competidor .............................................................................................. 40 Tabla 2.19: Tarjeta CRC - Contacto................................................................................................... 40 Tabla 2.20: Tarjeta CRC – Agente Destinatario ................................................................................ 41 Tabla 2.21: Tarjeta CRC – Promoción ............................................................................................... 41 Tabla 2.22: Tarjeta CRC – Tipo de Contenido ................................................................................... 41 Tabla 2.23: Tarjeta CRC - Paquete .................................................................................................... 42 Tabla 2.24: Tarjeta CRC - Usuario ..................................................................................................... 43 Tabla 2.25: Tarjeta CRC – Perfil ........................................................................................................ 43 Tabla 2.26: Nivel de acceso .............................................................................................................. 44 Tabla 2.27: Cardinalidad en UML ..................................................................................................... 45 Tabla 2.28: Diccionario de Datos: Entidad Customer ....................................................................... 51 Tabla 2.29: Diccionario de Datos: Entidad Customer Observation .................................................. 51 Tabla 2.30: Diccionario de Datos: Entidad Customer Email ............................................................. 52 Tabla 2.31: Diccionario de Datos: Entidad Customer Address ......................................................... 52 Tabla 2.32: Diccionario de Datos: Entidad Customer Phone ........................................................... 52 Tabla 2.33: Diccionario de Datos: Entidad Customer Attachment .................................................. 52 Tabla 2.34: Diccionario de Datos: Entidad Profile ............................................................................ 53 Tabla 2.35: Diccionario de Datos: Entidad Action ............................................................................ 53 Tabla 2.36: Diccionario de Datos: Entidad Allowed Actions ............................................................ 53 Tabla 2.37: Diccionario de Datos: Entidad User ............................................................................... 54 Tabla 2.38: Diccionario de Datos: Entidad Package ......................................................................... 55 Tabla 2.39: Diccionario de Datos: Entidad Content Type................................................................. 56

Page 11: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

Tabla 2.40: Diccionario de Datos: Entidad Status ............................................................................ 56 Tabla 2.41: Diccionario de Datos: Entidad Offer .............................................................................. 56 Tabla 2.42: Diccionario de Datos: Entidad Receiver Agent .............................................................. 57 Tabla 2.43: Diccionario de Datos: Entidad Country ......................................................................... 57 Tabla 2.46: Prueba de Aceptación – Actualizar Perfil ...................................................................... 71 Tabla 2.47: Prueba de Aceptación – Activar/Desactivar Perfil ........................................................ 72 Tabla 2.48: Prueba de Aceptación – Nuevo Usuario ........................................................................ 73 Tabla 2.49: Prueba de Aceptación – Actualizar Usuario .................................................................. 74 Tabla 2.50: Prueba de Aceptación – Activar/Desactivar Usuario .................................................... 75 Tabla 3.1 Modelo de Encuesta para recolección de datos .............................................................. 82 Tabla 3.2: Resultados de Encuestas ................................................................................................. 83

Page 12: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

ÍNDICE DE FIGURAS

Figura 1.1: Acumulación de paquetes Courier por empresa............................................................. 2 Figura 1.2: Principales ciudades beneficiarias de Remesas (Millones de USD) [2] ........................... 2 Figura 1.3: Organigrama Estructural de la Empresa “RUMICOURIER Cía. Ltda.”[4] ......................... 4 Figura 1.4: INCOTERMS 2010 .......................................................................................................... 10 Figura 2.1: Arquitectura MVC del sistema ....................................................................................... 38 Figura 2.2: Ejemplo de Generalización con UML ............................................................................. 45 Figura 2.3: Ejemplo de Asociación con UML .................................................................................... 45 Figura 2.4: Ejemplo de Composición con UML................................................................................. 46 Figura 2.5: Ejemplo de Agregación con UML ................................................................................... 46 Figura 2.6: Ejemplo de Dependencia con UML ................................................................................ 46 Figura 2.7: Diagrama de Clases del Sistema ..................................................................................... 47 Figura 2.8: Diagrama Físico de la Base de Datos .............................................................................. 49 Figura 2.9: Interfaz de inicio de sesión mostrando validaciones de datos ...................................... 58 Figura 2.10: Interfaz de Inicio de Sesión con un ingreso erróneo al Sistema. ................................. 59 Figura 2.11: Interfaz de Administración de Perfiles con Mensaje de Creación exitosa. .................. 59 Figura 2.12: Interfaz de Administración de Usuarios ....................................................................... 60 Figura 2.13: Interfaz de Nuevo Usuario con botón de regreso ........................................................ 60 Figura 2.14: Interfaz de creación de Usuario. .................................................................................. 61 Figura 2.15: Estándar para nombres de clases ................................................................................ 62 Figura 2.16: Estándar para nombres de funciones y valores de retorno en Kohana Framework ... 62 Figura 2.17: Estándar para llaves y paréntesis de apertura y cierre, en estructuras de control ..... 63 Figura 2.18: Estándar para lista de argumentos, en funciones y métodos ...................................... 63 Figura 2.19: Estándar para lista de argumentos, en funciones y métodos ...................................... 64 Figura 2.20: Modelo Usuario, en Kohana Framework ..................................................................... 64 Figura 2.21: Controlador y acción de Usuario, en Kohana Framework ........................................... 65 Figura 2.22: Instanciación de una vista y envío de variables a vista, en Kohana Framework .......... 66 Figura 2.23: Vista por defecto de Usuario, en Kohana Framework ................................................. 66 Figura 2.24: Ejemplo de Implementación de Código jQuery (javascript) ........................................ 67 Figura 2.25: Ejemplo de Código CSS ................................................................................................. 68 Figura 3.1: Archivo de Configuración del sistema ............................................................................ 78 Figura 3.2: Llamada al sistema desde un navegador convencional (Mozilla Firefox) ...................... 78 Figura 3.3: Creación de Perfiles de Usuario ..................................................................................... 79 Figura 3.4: Perfiles de Usuario ......................................................................................................... 80 Figura 3.5: Creación de Usuario ....................................................................................................... 80 Figura 3.6: Creación de Clientes ....................................................................................................... 81 Figura 3.7: Creación de Paquete ...................................................................................................... 81 Figura 3.8: Movimiento de Paquete ................................................................................................. 82

Page 13: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

INTRODUCCIÓN

Actualmente las empresas de Courier, dedicadas al envío y recepción de

paquetes internacionales, han tenido un auge considerable en el Ecuador. Por

este motivo es importante que tengan un sistema informático que les permita

automatizar sus tareas y el manejo de la información. Beneficiando así, tanto a

sus usuarios, empleados, y por consiguiente a sus clientes, ofreciéndoles

información actualizada, confiable, e integra.

Mediante este documento se describe los procesos involucrados en el

“DESARROLLO DE UNA APLICACIÓN WEB PARA LA GESTIÓN DE

MOVIMIENTO DE PAQUETES PARA EMPRESAS DE COURIER”.

Este sistema permitirá automatizar procesos que actualmente son realizados

manualmente, tales como: gestión de información de clientes y prospectos,

gestión de movimiento de paquetes; reportes de clientes, paquetes y

observaciones.

En el Capítulo I se presenta una descripción genérica de los procesos de las

empresas de Courier así como también se analizan a profundidad los

subprocesos desde que un paquete es enviado hasta que llega hasta las manos

del cliente. Además se elige XP (Extreme Programming) como metodología de

desarrollo, y se eligen y exponen las herramientas a utilizar en este proceso. Se

incluye también un presupuesto general para el desarrollo este proyecto.

En el Capítulo II se establecen y analizan los requerimientos mediante las

historias de usuario. Se presenta el análisis de los mismos con su respectiva

estimación de esfuerzo, priorización y plan de entregas. Se define el diseño

arquitectónico del sistema (Modelo - Vista - Controlador) y las tarjetas CRC, que

sirven como base para la elaboración del diagrama de clases y diagrama físico de

la base de datos. Se define el diccionario de datos, así como el diseño de

interfaces. Se describen los estándares de programación utilizados para la

codificación del sistema. Finalmente se elaboran las pruebas de aceptación del

sistema.

En el Capítulo III se describe la implementación del sistema en el caso de estudio

(TransferCargo S.A), así como el análisis de resultados en la misma.

En el Capítulo IV se establecen las conclusiones y recomendaciones obtenidas

en el desarrollo del proyecto de titulación.

Page 14: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

1

1. CAPÍTULO I: PLANTEAMIENTO DEL PROBLEMA

1.1 DESCRIPCIÓN GENÉRICA DE LOS PROCESOS DE LAS EMPRESAS DE COURIER

1.1.1 EMPRESAS DE COURIER

Según las leyes vigentes del Ecuador, específicamente en el Reglamento para la

aplicación del impuesto a la salida de divisas, y con Registro Oficial N° 336 de

Mayo de 2008 se menciona: “Las empresas de Courier, para efectos de la

aplicación de esta ley se dividen en dos tipos:

1. Mensajería expresa o correos rápidos: son sociedades reguladas por la

Superintendencia de Compañías, que prestan el servicio de envío o traslado de

encomiendas, paquetes o sobres al exterior.

2. Courier propiamente dichos: son sociedades reguladas por la

Superintendencia de Compañías, que prestan el servicio de transferencias,

traslado o envío, y recepción de divisas, paquetes, encomiendas y sobres, desde

y hacia el exterior.”[1]

En el Ecuador, según cifras del Banco Central, hasta el 2006, existían 232

empresas de Courier registradas y legalmente constituidas en la Superintendencia

de Compañías, estando hasta ese año 140 activas. En el 2012 en cambio, se

encontraban registradas y activas 159 empresas de Courier, sin embargo tan solo

62 empresas eran reconocidas por la Corporación Aduanera Ecuatoriana y

cumplían con los requisitos de ley para desarrollar actividades de transporte bajo

Courier.

En función de la encuesta realizada por el BCE y la Universidad de Cuenca en el

2004, se conoce que la mayoría de envíos por medio de Courier se los realiza por

empresas anexas a bancos tanto del Ecuador como internacionales; así mismo un

informe del FOMEN-BID concluye que los dos tercios de remesas enviadas hacia

el Ecuador llegan a través de estas empresas especializadas en Courier. En este

contexto se tiene la Figura 1.1 que muestra los porcentajes de acumulación de

paquetes totales Courier por cada empresa.

Page 15: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

2

Figura 1.1: Acumulación de paquetes Courier por empresa.

Como se puede apreciar la mayoría de envíos, específicamente el 40%, se los

realiza con grandes empresas de Courier como son Delgado Courier (parte de

Delgado Travel) y DHL, empresa alemana internacional dedicada a estos

servicios.

En cuanto a aporte financiero, la mayoría se concentra en Guayaquil, seguida por

Cuenca y Quito. Así se tiene en la Figura 1.2. el total de beneficio monetario, para

cada ciudad haciendo uso de este medio, según el boletín del tercer trimestre de

2012 del Banco Central del Ecuador.

Figura 1.2: Principales ciudades beneficiarias de Remesas (Millones de USD) [2]

Delgado Courier28%

DHL12%

Corpuaustro8%

Sur Express5%

Orient Courier

5%

Otros42%

Page 16: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

3

1.1.2 PROCESOS DE UNA EMPRESA COURIER

Una empresa de Courier posee los procesos generales de una empresa de

servicios siendo el proceso de Courier en sí el más importante. A continuación se

describen los principales procesos de las empresas de Courier.

1.1.2.1 Gestión Administrativa y Logística

“Algunos analistas consideran que la logística es un mercado diferente de los

servicios básicos y de los urgentes y que se diferencia de ambos por la inclusión

de nuevas prestaciones de mayor valor añadido. La logística se define como el

mercado de los servicios de planeamiento, implementación y control del flujo y

almacenamiento de bienes, servicios e información relacionada, desde el punto

de origen al punto de destino, de acuerdo con los requerimientos del cliente.” [3]

En el ámbito nacional, por ejemplo, DHL ofrece algunos tipos de soluciones en

logística: Transporte de Carga, Almacenaje y Distribución, Intermediación

aduanera, entre otros. DHL Ecuador maneja un sistema de Área de Clientes que

permite a los usuarios de los diferentes servicios logísticos rastrear sus paquetes

o mercaderías, esto ayuda a crear un valor agregado, donde el usuario tiene la

tranquilidad de estar trabajando con una empresa seria con prestigio y respaldo

tecnológico.

Referente a la logística dirigida a las pequeñas o medianas empresas de Courier

se puede decir que, si bien cuentan con sistemas eficientes de transporte, no se

genera adecuadamente el valor agregado de confiabilidad y seguridad que

necesita el cliente. En nuestro caso de estudio por ejemplo, esta confiabilidad,

seguridad y eficiencia son valores que crecen con publicidad indirecta mediante

referencias de antiguos clientes, es así que, dichos valores no son cuantificables

en la mayoría de los casos.

Por otro lado en cuanto a la administración de una empresa de Courier de

acuerdo a la realidad nacional y de las pequeñas y medianas empresas se han

Page 17: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

4

determinado tres departamentos estratégicos de acuerdo a las necesidades del

negocio: administración, operaciones y logística, contabilidad y comercialización,

las cuales éstas directamente reguladas por la Gerencia General.

Sin embargo, en la mayoría de los casos no se tiene personal exclusivo para

estos procesos, como podemos observar en un organigrama estructural básico de

una empresa mediana de Courier en la Figura 1.3.

Figura 1.3: Organigrama Estructural de la Empresa “RUMICOURIER Cía. Ltda.” [4]

1.1.2.2 Gestión Jurídica

La gestión jurídica juega un papel importante en conjunto con la realidad del sitio

geográfico donde se desarrollan las actividades económicas de la organización.

“La ocurrencia de cambios sociales, económicos y regulatorios ha incidido

acentuadamente sobre la marcha de las empresas. Esta dinámica trajo consigo la

necesidad de modificación de los esquemas de conducción de las organizaciones,

Page 18: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

5

debiendo las áreas jurídicas asumir mayores desafíos para construir valor y

mantener a los entes dentro del marco de legalidad.” [5]

Un aspecto importante para una empresa de Courier es cumplir con los

requerimientos establecidos por la ley ecuatoriana para la importación y

exportación de productos, vamos a enfocarnos los requerimientos legales para las

compañías de Courier:

· Solicitud de Autorización para brindar el servicio de tráfico postal

internacional y correos rápidos o Courier dirigida al Gerente General de la

Corporación Aduanera Ecuatoriana.

· Copia certificada de la escritura en donde conste el estatuto vigente de la

empresa, en cuyo objeto social debe constar esta actividad.

· Copia certificada del nombramiento del Representante Legal de la

empresa, actualizado e inscrito en el Registro Mercantil.

· Si se trata de una empresa extranjera, adicionalmente debe demostrar que

está domiciliada en el país.

· Listado de el o los nombres comerciales con los que prestarán el servicio

de correos rápidos o Courier.

· Copia del Registro Único de Contribuyentes actualizado.

· Copia certificada de las declaraciones de impuesto a la renta de los dos

últimos ejercicios económicos, en caso de aplicarse.

· Indicación de los aeropuertos internacionales a través de los cuales se

produciría el ingreso y salida de los envíos postales.

· Copia del comprobante de pago de la tasa de postulación.

· Copia del comprobante de pago de la tasa extraordinaria de inscripción.

Todos los demás que estén contemplados en la Ley Orgánica de Aduanas y su

Reglamento General.” [6]

Un departamento jurídico vanguardista puede ser una ventaja competitiva. Evita

retrasos en trámites o confusión de documentación. Además de mantener un

marco saludable de apego a la ley.

Page 19: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

6

1.1.2.3 Gestión de Tecnologías de la Información y Comunicaciones

La gestión de tecnologías de la información y comunicaciones (TICs) es un

proceso indispensable dentro de una empresa de Courier, puesto que con este,

se asegura que tanto el software como el hardware sean los adecuados y que

apoyen a los objetivos y modelo de negocio de la empresa. Sin embargo, las

pequeñas y medianas empresas de Courier obvian este proceso, y tan solo tienen

servicios ocasionales externos para esta tarea, lo que conlleva a problemas

informáticos más graves, o pérdida directa en la rentabilidad. En contraste, las

grandes empresas de Courier se benefician e incrementan su producción gracias

al uso adecuado de las TICs1, la correcta aplicación de hardware y software

específico para cada una de sus tareas, como el uso de plataformas como

Asterisk2 para el Call Center, ó de RFID3 (Radio Frequency Identification) para el

seguimiento de paquetes, usado por ejemplo por DHL.

Por este motivo, la gestión de TICs es sumamente importante para una empresa

Courier, tal como Erik Brager, jefe del equipo de producción de DHL, lo mencionó

“Las TIC son cada vez más importantes para DHL, como para cualquier empresa

de distribución y transporte. Para los pedidos en línea y para el seguimiento y

localización de los envíos, no contar con las TIC es simplemente inconcebible.

Nuestros clientes nos piden continuamente más información y más rápidamente

sobre dónde se encuentran sus paquetes. Para ello, confiamos en un sistema de

seguimiento y localización que nos permite informarles con la mayor exactitud

posible. El flujo de transporte físico y los flujos de información virtual deben, por

así decirlo, estar sincronizados a todos los niveles.” [7]

A nivel nacional, respecto al uso de TICs en las empresas de Courier, se tiene por

ejemplo a RECAPT, domiciliada en la ciudad de Guayaquil la cual cuenta con un

Centro de Procesamiento de Datos (CPD) que sigue las recomendaciones de las

mejores prácticas en IT (ITIL v.3) y normas en infraestructura de LAN y WAN, en 1 TIC: Tecnologías de la Información y de la Comunicación.

2 Asterisk: es un programa de software libre (bajo licencia GPL) que proporciona funcionalidades de una

central telefónica (PBX) y VoIP 3 RFID: Siglas de Radio FrequencyIdentification.es un sistema de almacenamiento y recuperación de datos

remoto que usa dispositivos denominados etiquetas RFID.

Page 20: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

7

las que según sus objetivos generales de servicio asegura no solo disponibilidad

si no calidad en las trasmisión de información, dando un mejor servicio tanto a

clientes como al personal interno.

Las diferentes oficinas se encuentran integradas a las varias plataformas

disponibles a través de robustas redes de comunicaciones, además estas

plataformas cuentan con redundancia para asegurar disponibilidad de

información.

1.1.2.4 Gestión de Servicio al Cliente

Un proceso importante para cualquier empresa de servicios, es mantener al

cliente satisfecho. Para ello es importante que el cliente sienta que está protegido

y ha hecho bien en contratar un servicio con una determinada empresa. En el

caso de las empresas de Courier, este proceso es uno de los más importantes

también, puesto que los envíos por este medio se pueden dar continuamente, y al

tener a un cliente fiel, la empresa se asegura que tendrá ingresos de este cliente,

así como también tendrá buenos comentarios y recomendaciones que pueden

conllevar a futuros clientes.

Debido a que el proceso de Courier es muy largo y posee muchos procedimientos

desde que el cliente solicita el servicio hasta que el servicio se completa, lo que

desean los clientes es conocer información y situación de su paquete, es decir, en

donde está, en qué estado está, y en qué fecha llegó a esa situación, en el menor

tiempo posible. Esto es un derecho que legalmente también posee un cliente tal

como está establecido en la Ley Orgánica de Defensa del Consumidor: “El

consumidor tiene derecho a la información adecuada, veraz, clara, oportuna y

completa sobre los bienes y servicios ofrecidos en el mercado, así como sus

precios, características, calidad, condiciones de contratación y demás aspectos

relevantes de los mismos, incluyendo los riesgos que pudieren prestar” [8].

Para ofrecer esta información las empresas de Courier, sobre todo las empresas

grandes y medianas (DHL, Delgado Travel, TransferCargo, Correos del Ecuador,

etc.) se ayudan de páginas web que permiten a los usuarios conocer algunos de

Page 21: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

8

estos datos ingresando la guía del paquete directamente. Sin embargo, esta

utilidad es de gran ayuda solo a un reducido porcentaje de población del Ecuador

que cuenta con Internet y con el conocimiento necesario para manejarlo, según el

último censo poblacional realizado por el INEC en 2011, se determinó que tan

solo el 31.4% de la población utiliza Internet y por tanto accedería a esta vía de

información. Por este motivo, para solventar las necesidades de las personas que

no utilizan internet, algunas empresas también poseen call centers de servicio al

cliente, para brindarles la misma información pero haciendo uso solamente de una

llamada telefónica. Por lo general esta línea tiene los mismos horarios de atención

que las oficinas, y posee amplia demanda.

1.1.2.5 Gestión de Comercialización y Ventas

Las empresas Courier necesitan elaborar estrategias de venta, investigar sus

posibles clientes y también decidir cómo y mediante qué medios llegarán a ese

cliente. Este proceso es indispensable en empresas de servicios, y en las

empresas Courier no es la excepción, puesto que pueden ganar más clientes y

por ende más rentabilidad.

Así pues, las empresas de Courier, dependiendo de su tamaño, utilizan publicidad

tanto directa e indirecta. Mucho más utilizada por pequeñas y medianas empresas

de Courier es la publicidad directa, que es aquella que busca resultados en

tiempo mínimo y con contacto directo con el cliente. Para ello se utilizan correos

electrónicos masivos, folletos o anuncios impresos, marketing 2.0 a través de

redes sociales como Facebook y Twitter, y llamadas telefónicas mediante call

center para ofrecer y publicitar sus servicios. Al contrario, y utilizado mucho más

por empresas de Courier grandes, es la publicidad indirecta, ya que al ser

famosas, y con gran experiencia llegan a los clientes mediante recomendaciones

de otros usuarios satisfechos que ya han hecho uso del servicio.

Cuando el cliente requiere del servicio de Courier se realiza la cotización

correspondiente, que incluye los gastos de su compra en el exterior, los gastos

por cuestiones arancelarias, aduaneras y de impuestos, el flete, y la comisión

Page 22: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

9

para la empresa de Courier. Si el cliente está de acuerdo, se efectúa la

facturación del mismo y empieza el proceso de Courier en sí.

1.1.2.6 Courier

Es el proceso clave y operacional de una empresa de Courier. Según la aduana

del Ecuador, el Courier es “El envío de paquetes y/o bultos a través de cualquier

clase de correo, sea éste público o privado hacia el extranjero cuyo valor en

aduana no exceda del límite que se establece en el reglamento y se

despacharán mediante formalidades simplificadas, conforme los procedimientos

que establezca la Aduana del Ecuador.” [9] El Courier está conformado por una

serie de procedimientos, documentos y trámites que deben ser realizados para

que un paquete pueda finalmente llegar a las manos del cliente. Esto por lo

general implica una compra en el extranjero, la importación de este paquete hacia

el país de destino, y el desaduanamiento del mismo (nacionalización de

mercaderías).

1.1.2.6.1 Terminología

Los involucrados en todo el proceso que implica el Courier, necesitan una forma

de establecer responsabilidades y guías sin importar el país en donde se los

realice. Así la Cámara de Comercio Internacional creó los “Términos de Comercio

Internacional” (INCOTERMS4), que son un conjunto de reglas para el

establecimiento de responsabilidades tanto del comprador como el vendedor en

actividades de compra-venta internacional. En el caso del Ecuador, se utiliza

INCOTERMS Versión 2010, que delimita las responsabilidades del vendedor y

comprador como se muestra en la Figura 1.4

4 INCOTERMS: Siglas de International Commercial Terms, son términos de tres letras cada uno que reflejan

las normas, de aceptación voluntaria de dos partes (compradora y vendedora), acerca de las condiciones de entrega de paquetes.

Page 23: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

10

Figura 1.4: INCOTERMS 2010 [10]

1.1.2.6.2 Categorización de mercaderías para Courier

La Corporación Aduanera del Ecuador, determina y especifica categorías de

mercaderías, por su peso y valor, que se sujetan a este tipo de envío, como se

muestra en la Tabla 1.1. Es importante acotar que el FOB (Free on Board)

perteneciente al INCOTERMS 2010 es un valor referencial para efectuar la

categorización.

Categoría Descripción

A Documentos Impresos: libros, cartas, postales, periódicos,

fotografías; contenidos en medios de audio y video, magnéticos,

electromagnéticos, electrónicos.

B

(Necesitan

DAS-C)5

Menor o igual a 4Kg y US$400 FOB6 Paquetes cuyo peso sea

menor o igual a 4 kg. y su valor FOB sea menor o igual a los US$

400,00, siempre que se trate de bienes de uso para el destinatario y

5 DAS- C: Declaración Aduanera Simplificada – Courier: Es un formulario para servicios de Courier, mediante

el cual se especifica la información de un paquete y se lo pone a consideración de la aduana.

Page 24: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

11

sin fines comerciales.

C

(Necesitan

DAS-C)

Menor o Igual a 50Kg y US$2.000 FOB Paquetes cuyo peso no

exceda los 50 kg. ni el valor FOB de US$ 2.000,00. (Excepciones:

repuestos para la industria, equipos médicos, o medios de

transporte, se admitirá un peso de hasta 200 kg., y el FOB no supere

los US$ 2.000,00, y no sean más de 10 unidades. Entran

automáticamente a esta categoría y con impuestos específicos

adicionales: Videojuegos, Perfumes, Bebidas Alcohólicas, Escopetas

y pistolas y TVs.

D Textiles y calzados. Menores o iguales a 20Kg. y US$2.000 FOB

Todas las prendas, textiles y calzados, que no se contemplen en la

Categoría B, deberán obligatoriamente declararse en esta categoría,

y el peso no puede excederse a los 20 kg. ni sobrepasar los US$

2.000,00

E

(Necesitan

DAS-C)

Medicina sin fines comerciales, equipos ortopédicos, órganos y

tejidos .Paquetes con medicinas sin fines comerciales, siempre que

arriben a nombre de una persona natural; aparatos ortopédicos,

órganos, tejidos y células; fluidos humanos; equipos y aparatos para

personas con discapacidad. No contempla limitaciones de peso y

valor.

F

(Necesitan

DAS-C)

Libros, y Equipos de computación y sus partes Paquetes con

libros o similares, o equipos de computación y sus partes; siempre

que la partida específica dentro de los capítulos 1 al 97 del Arancel

Nacional de Importaciones tenga tarifa 0%. Estos artículos están

exentos de toda limitación de peso y valor.

Tabla 1.1: Clasificación de Mercaderías para envíos mediante Courier

1.1.2.6.3 Proceso de importación

a) Nota de Pedido: cuando la mercadería ya ha sido comprada en un país

extranjero, y se encuentre en las bodegas de la empresa de Courier en ese

6 FOB: Free on Board, o Franco a Bordo es una clausula de comercio internacional que se refiere al valor de

venta de los productos en el extranjero, más el costo de los fletes, seguros y otros gastos necesarios para hacer llegar la mercancía hasta la aduana de salida

Page 25: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

12

país, se realiza la nota de pedido en el país destino. Este es un documento

obligatorio que se entrega a la Aduana del país de destino, donde se incluyen

los datos del importador y exportador, el país de origen, el lugar de embarque,

el lugar de destino, la vía de transporte (aérea, marítima o terrestre), término

de la mercadería (FOB, CIF7, CyF), la moneda, la forma de pago, la fecha, y la

fecha de inicio de la negociación.

b) Conocimiento de embarque: la empresa de transporte, ya sea esta aérea,

marítima o terrestre entregará un documento al importador, que contiene

básicamente datos de la mercadería o paquetes, y un código único con el cual

se identificará a la misma. El importador a su vez debe entregar este

documento a la aduana. Este documento toma el nombre dependiendo la vía

de transporte, si es que es marítima se lo llama “conocimiento de embarque”,

si es aérea, se lo llama “guía aérea” y finalmente si es terrestre, se lo llama

“carta de porte”.

c) Certificado de Inspección: es un documento que certifica que la mercadería

recibida pasó la inspección y verificación satisfactoriamente.

d) Manifiesto de Carga: el manifiesto de carga es un documento obligatorio que

llega a la Aduana junto con la mercadería. En este se informa la vía de

transporte en la que vino la mercadería, el lugar determinado y la fecha

establecida a ser recibida, la fecha del embarque, y el peso de la misma.

e) Factura comercial: cuando se hace el pacto de compra y venta internacional,

se realiza un contrato que es plasmado en una factura comercial, que

contendrá datos específicos de la mercadería, como su peso, unidades, y

precios, además de marcas y especificaciones de cada una de ellas que

acordaron tanto el vendedor como el comprador. Este documento se entregará

obligatoriamente también a la aduana, y será el que sirva como base para la

declaración aduanera.

7 CIF: (Costo, Seguro y Flete) es la suma de gastos generados hasta que la mercancía llegue al puerto de

destino incluyendo los gastos del seguro, transporte y despacho.

Page 26: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

13

f) Declaración Aduanera Simplificada (DAS): las empresas de Courier tienen la

ventaja de que tan solo necesitan pasar por los anteriores pasos, y tener esos

documentos para ya realizar la declaración aduanera, es decir no necesitan

permiso previamente de un banco como garantía o DUI (Documento Único de

Importación). Esta declaración aduanera simplificada contiene todos los

detalles de la mercadería y es entregada a la aduana.

g) Declaración Aduanera del Valor (DAV8): posteriormente se firma un juramento

escrito obligatorio, generado por la aduana en el cual el importador certifica

que el valor y peso consignados son los verdaderos. Con este se procede

desaduanizar el paquete o mercadería.

1.1.2.6.4 Proceso de Desaduananización (Nacionalización de mercadería)

a) Digitalización: después de entregar el DAV y los demás documentos (DAS,

Factura Comercial, Conocimiento de embarque) se procede a la digitalización,

donde personal de aduana ingresa los datos al sistema informático de servicio

aduanero.

b) Aforo: personal de la aduana verifica los documentos físicos con la información

ingresada en el sistema, así como la consistencia de datos y la correcta

declaración de los paquetes. Este procedimiento se lo realiza por la

verificadora, que es una empresa elegida por sorteo. Existen dos tipos de

aforo.

El aforo físico es aquel en donde se verifica la mercadería física y su

contenido, además de comparar si el peso y el contenido corresponden a lo

declarado. Si el peso excede al que está declarado en más del 10% del mismo

se considera un delito aduanero (cargos, multas y sanciones) mientras que si

excede en menos del 10% declarado en se considera solo una falta (multa

mínima). Si el peso es menor al declarado solo se tributará el que llegó.

8 DAV (Declaración Andina del Valor): es un documento soporte de la declaración de importación. En ella se

consignan toda la información técnica respecto a las condiciones y circunstancias de la operación comercial que da lugar a la importación de la mercancía, que sirven para determinar el valor aduanero de la misma.

Page 27: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

14

El aforo documental en cambio, consiste en verificar si es que los datos

declarados coinciden con la documentación adjunta.

Al pasar por estos dos aforos si es que es el caso, se registrará una fecha de

aprobación o de aforo, además de una numeración de aprobación para la

declaración. Con esto ya podemos ir al proceso de liquidación.

1.1.2.6.5 Proceso de Liquidación

a) Determinación de Liquidación: después de pasar el aforo se determina el

monto total de tributos a pagar por el importador, tomando en cuenta los

valores de impuestos y tributos según la categorización de la mercadería,

como se muestra en la Tabla 1.2.

Categoría Subcategoría Ad Valorem9 IVA FodInfa Específico

A 0% 0% 0% B 0% 0% 0% C 20% 12% 0.5% Videojuegos 20% 12% 0.5% Incrementa

35% Perfumes 20% 12% 0.5% 200% Bebidas

alcohólicas 20% 12% 0.5% 25%

Escopetas 20% 12% 0.5% 300% ICE TV de 14 a 20

pulgadas 5% 12% 0.5% 39.97

TV de 21 a 32 pulgadas

5% 12% 0.5% 73.11

TV de 33 a 41 pulgadas

5% 12% 0.5% 140.32

TV de 42 a 50 pulgadas

5% 12% 0.5% 158.14

TV de más de 50 pulgadas

5% 12% 0.5%

D 10% 12% 0.5% E 0% 12% 0.5% F 0% 12% (En

libros 0%) 0.5%

Tabla 1.2: Valores de impuestos y tributos por categoría de mercadería de Courier

9 Ad Valorem: es un impuesto basado en el valor de un bien inmueble o mueble. Es especificado por el

reglamento de aduanas de cada país.

Page 28: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

15

b) Papeleta de liquidación: después de calculados los valores, la aduana entrega

esa información en una papeleta para su pago posterior en los bancos

autorizados por el Ministerio de Finanzas para recaudar estos montos.

c) Pago de tributos e impuestos: después de pagar este rubro se entrega a la

aduana el comprobante, se comprueba que lo liquidado y lo pagado sean

correctos y se entrega el paquete o mercadería al importador.

1.1.3 SITUACIÓN ACTUAL

Actualmente la mayoría de empresas de Courier del Ecuador, sobretodo

medianas y pequeñas empresas, gestionan la información de cada uno de los

paquetes que envían y reciben de forma manual y mediante hojas de cálculo

Excel, así como también información de sus clientes y prospectos, contactos,

competidores y usuarios. Además, para poner en conocimiento de esta

información a todos los empleados (operadores de call center, personal de

aduana, mandos gerenciales), se la transmite por medio de correos electrónicos o

USB, lo que dificulta conocer si es que la información recibida es actualizada y si

es que no ha sido alterada o editada en medio de este proceso, es decir no se

puede garantizar la integridad de la misma. Tampoco se puede garantizar

seguridad ni confidencialidad, puesto que al transmitirla por estos medios, y no

tener un esquema de permisos y perfiles, se corre el riesgo de que esta

información pueda ser vista por terceras personas no autorizadas. Finalmente

mediante esta información no necesariamente correcta, los operadores del call

center (servicio al cliente), y la página web informan a los usuarios de la situación

de su paquete. Por ello este proceso supone falta de seguridad, integridad,

confidencialidad, disponibilidad y fiabilidad en la información, lo cual produce

pérdida de tiempo tanto para los empleados como también para los clientes.

1.1.4 PROPUESTA DE SOLUCIÓN

Se propone desarrollar un sistema web de gestión de movimiento de paquetes

para empresas de Courier, que permita tener siempre disponible y actualizada la

información de cada uno de los paquetes que son enviados por este medio. Al ser

una aplicación web, se podrá acceder desde cualquier parte del mundo a una

Page 29: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

16

gran velocidad, y de forma simultánea (varios usuarios podrán acceder a la

información al mismo tiempo y a la misma información).

El sistema además permitirá administrar la información de clientes, prospectos de

clientes, empresas competidoras y contactos, información valiosa para este tipo

de empresas. Para garantizar la seguridad, el sistema tendrá un sistema

jerárquico de perfiles y permisos, que permitirán solo a usuarios autorizados y

mediante autenticación acceder a los diferentes módulos del sistema.

También generará reportes tanto de los paquetes como de clientes, que

contribuyan a los gerentes a la toma de decisiones, o como medio informativo.

La automatización de estos procesos permitirá a las empresas de Courier mejorar

el desempeño de sus empleados, y por ende, el servicio que ofrecen a sus

clientes.

1.2 SELECCIÓN Y JUSTIFICACIÓN DE METODOLOGÍA DE DESARROLLO

1.2.1 CARACTERÍSTICAS DEL PROYECTO

Antes de seleccionar una metodología de desarrollo, es preciso determinar

primero las características para el presente proyecto. A continuación se describen

cada una de ellas:

· Los clientes están dispuestos a colaborar: La empresa de Courier en la que se

va a realizar el caso de estudio (TransferCargoUSA) está dispuesta a

colaborar constantemente con los desarrolladores, y ofrecer toda la

información concerniente a los procesos utilizados en la misma.

· Equipo de trabajo pequeño: El equipo de desarrollo será integrado por dos

personas.

· Tiempos cortos: Es importante que el presente proyecto se lo realice en el

tiempo más corto posible.

· Requerimientos flexibles: Al estar el cliente continuamente en contacto con el

equipo de desarrollo, los requerimientos y cambios resultan constantes.

Page 30: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

17

· Costos mínimos: El desarrollo del presente proyecto está enfocado a

pequeñas y medianas empresas de Courier, por lo que su costo no puede ser

muy elevado. Esto incluye también, un costo mínimo en herramientas.

· Entregables continuos: Es importante que el cliente pueda plasmar sus

requerimientos en tiempo mínimo y ponerlo en funcionamiento de manera

continua.

· Flexibilidad de planificación y gestión: El presente proyecto al tener la

colaboración del cliente constantemente, no necesita de una planificación

rígida y sin posibilidad de cambios. Tampoco una gestión que cumpla

excesivas reglas.

Después de explicar cada una de las características del proyecto, se determinará

la metodología que mejor se adapte. Para realizar esto, se define en primera

instancia qué es una metodología de desarrollo de software. Una metodología de

desarrollo de Software es “El conjunto de procedimientos, técnicas, herramientas

y un soporte documental que ayudan a realizar un nuevo software”. [11] Esto

contribuye ampliamente para que un proyecto tenga éxito, cumpla con plazos

acordados, y el producto finalizado de software sea de calidad. Existen dos

grandes grupos de metodologías de desarrollo de software: las tradicionales, y las

ágiles. A continuación se presentan las características de cada una de ellas.

1.2.2 METODOLOGÍAS TRADICIONALES VS ÁGILES

A continuación en la Tabla 1.3 se presentan las características de metodologías

tradicionales y ágiles, y las del proyecto. En la tabla se agrega un visto para

aquella que se alinea mejor con las características del proyecto.

Característica Proyecto Tradicionales Ágiles

Enfoque Orientado a

personas

Orientadas a los

procesos

Orientada a las personas

Adaptación a

cambios

Flexible a

cambios

Alto costo en la

realización de

cambios

Flexible a cambios

durante todo el

desarrollo del proyecto

Page 31: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

18

de Software

Documentación Documentación

mínima

Documentación

detallada y

exhaustiva

Documentación mínima

y necesaria

Control y

gestión

No necesita

excesivas

reglas.

Tiene gran

cantidad de

normas o reglas

para

planificación,

control y gestión

de riesgo.

Posee pocas normas y

reglas. Es más abierta al

criterio de las personas a

cargo del proyecto

Planificación Plan de

proyecto

flexible y

abierto a

cambios

El proyecto se

basa en un plan

de proyecto

El proyecto no cumple

un plan de proyecto. Se

basa en los objetivos y

valor del negocio.

Ciclos Varios Fijos y limitados

Numerosos y sin límite

Tamaño de

Proyectos

Pequeño Grandes Pequeños y medianos

Tamaño del

equipo de

proyecto

Pequeño (2

personas y el

cliente)

Grandes Pequeños

Cultura de

equipo

Abierto Sujeta a mandos

de control

Compañerismo y

solidaridad

Relación con el

cliente

Con constante

contacto con el

cliente durante

el desarrollo.

Mediante

reuniones fijas,

preestablecidas y

mínimas

El cliente es parte del

equipo de desarrollo

durante todo el proyecto

Tabla 1.3: Metodologías Tradicionales vs Metodologías ágiles

Page 32: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

19

De la Tabla 1.3 se concluye que el mejor tipo de metodología de desarrollo para el

presente proyecto es una metodología ágil.

1.2.3 SELECCIÓN DE METODOLOGÍA DE DESARROLLO ÁGIL

Para seleccionar la metodología ágil más adecuada para el presente proyecto, se

muestra en la Tabla 1.5 tomada de [12] una comparación de seis características

que se definen a continuación, calificadas de acuerdo a la Tabla 1.4 de

ponderaciones:

· Sistema como algo cambiante: esta característica se refiere a la flexibilidad y

capacidad que tendrá el sistema a ser desarrollado, para incorporar nuevos

requerimientos sobre la marcha, así como cambios de requerimientos. Como

se puede observar en la Tabla 1.5, Crystal es el que menos puntaje tiene, y

esto es porque a diferencia de las demás metodologías ágiles, Crystal no

cubre todo el ciclo de vida del proyecto, por lo que los requerimientos deben

ser cambiados o añadidos tan solo al principio del proyecto.

· Colaboración: son los valores y filosofía en los que se encuentran

interrelacionados las partes involucradas en el desarrollo de Software. Debido

a que es un principio del Manifiesto Ágil, en todas, tanto XP, Scrum, Crystal y

ASD se incluye al cliente como parte del equipo de desarrollo. Y además se

incentiva el compañerismo y la confianza.

· Resultados: los resultados se refieren al éxito del sistema desarrollado

después de aplicar la metodología. Como se observa en la Tabla 1.5, todas las

metodologías ágiles principales poseen máximo puntaje, puesto que el cliente

al colaborar y revisar sus requerimientos constantemente, en la mayoría de

casos, el sistema final satisface sus requerimientos.

· Simplicidad: es la facilidad para poner en práctica los diferentes principios,

reglas y procedimientos de una metodología. XP al tener reglas muy flexibles y

precisas, es fácil de aplicar, además la relación con el cliente es directa y

continua, por lo que tiene la calificación más alta. Scrum en cambio, al tener

Page 33: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

20

las opiniones del cliente en reuniones periódicas (cada dos a cuatro semanas),

puede tener dificultades de comunicación o entendimiento entre las partes.

Crystal y ASD en cambio, requieren muchos responsables para la toma de

decisiones, puesto que son diseñados para equipos grandes.

· Adaptabilidad: es la capacidad que tiene una metodología para adaptarse a

nuevos cambios, y más no luchar contra ellos. XP, Scrum y Crystal tratan de

evitarlos con la comunicación continua y la intervención directa del cliente.

ASD (Adaptable Software Development) en cambio toma como principio

fundamental la adaptación a los cambios, por lo que la metodología en si está

basado en una adaptación continua a circunstancias cambiantes a lo largo del

ciclo de vida.

PONDERACIÓN DESCRIPCIÓN

1 Excelente

2 Muy buena

3 Buena

4 Regular

5 Mala

Tabla 1.4: Tabla de Ponderación

XP Scrum Crystal ASD

Sistema como algo

cambiante

5 5 4 5

Colaboración 5 5 5 5

Resultados 5 5 5 5

Simplicidad 5 4 3 3

Adaptabilidad 4 4 4 5

Total 24 23 22 23

Tabla 1.5: Características de principales metodologías ágiles

Page 34: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

21

Se puede concluir de la Tabla 1.4, que XP10 obtiene el mayor puntaje de agilidad,

y además se adapta a las características del proyecto y experiencia de los

desarrolladores. Por tanto se escoge XP (eXtremme Programming) como

metodología para el desarrollo del presente proyecto.

1.3 SELECCIÓN Y JUSTIFICACIÓN DE HERRAMIENTAS DE DESARROLLO

En una aplicación web es necesario considerar 6 tipos de herramientas:

· DBMS

· Lenguaje de programación

· Framework de Desarrollo

· Servidor Web

· Entorno de desarrollo Integrado (IDE)

· Herramientas Case

1.3.1 SISTEMA DE GESTIÓN DE BASE DE DATOS (DBMS11)

Se ha decidido utilizar MySQL como sistema de gestión de base de datos ya que

al tener una licencia libre GNU/GPL reduce costos para el proyecto alineándose a

las características del mismo. Además es el más rápido de los DBMS open source

y sobretodo el que menos recursos utiliza. También posee aplicaciones de

terceras partes como PhpMyAdmin o MySQL Workbench que permiten al

desarrollador utilizarlo y configurarlo de manera gráfica y sencilla. En nuestro caso

utilizaremos MySQL mediante PhpMyAdmin.

1.3.2 LENGUAJE DE PROGRAMACIÓN

Se utilizará PHP12 como lenguaje de programación para la aplicación web, ya que

primeramente es un lenguaje libre 100%, lo que contribuirá a reducir costos del

proyecto y posee además óptima integración con MySQL, el motor de base de

10

XP: (eXtreme Programming) es una metodología de desarrollo ágil de la ingeniería de software formulada por Kent Beck. 11

DBMS:Database management system, es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos 12

PHP: Acrónimo de HypertextProcessor. Lenguaje de programación de lado del servidor para realizar aplicaciones web.

Page 35: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

22

datos escogida para el proyecto. Finalmente y no menos importante, PHP es el

lenguaje que posee mayor documentación, además de su capacidad

multiplataforma y versatilidad. Por otro lado los programadores de este proyecto

tienen gran experiencia y dominio en este lenguaje.

1.3.3 FRAMEWORK DE DESARROLLO

Existen varios Frameworks13 diseñados para la utilización de PHP, que es el

lenguaje de programación que vamos a utilizar para el proyecto. A continuación

presentamos los Frameworks más utilizados para aplicaciones web con PHP.

1.3.3.1 Kohana Framework [26]

Es un Framework para aplicaciones web PHP basado en CodeIgniter. Implementa

el patrón Modelo-Vista-Controlador (MVC14). Entre las principales características

que posee son las siguientes:

· Extremadamente seguro

· Extremadamente ligero

· Mínima curva de aprendizaje

· Utiliza el patrón MVC y HMVC

· Compatibilidad UTF-8 100%

· Arquitectura con bajo acoplamiento

· Extremadamente sencillo de extender

· Programación orientada a objetos estricto

· Sencilla abstracción de base de datos mediante librerías SQL

· Múltiples drivers de sesión

· Un Poderoso gestor de eventos que permite pequeñas modificaciones

dinámicamente

13 Framework: Es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de

problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar. 14

MVC: Modelo-Vista-Controlador es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones

Page 36: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

23

1.3.3.2 Zend PHP [27]

Es un framework de código abierto para desarrollar aplicaciones web y servicios

web con PHP 5. ZF es una implementación que usa código 100% orientado a

objetos. La estructura de los componentes de ZF es algo único; cada componente

está construido con una baja dependencia de otros componentes. Esta

arquitectura débilmente acoplada permite a los desarrolladores utilizar los

componentes por separado. Aunque se pueden utilizar de forma individual, los

componentes de la biblioteca estándar de Zend Framework conforman un potente

y extensible framework de aplicaciones web al combinarse. ZF ofrece un gran

rendimiento y una robusta implementación MVC, una abstracción de base de

datos fácil de usar, y un componente de formularios que implementa la prestación

de formularios HTML, validación y filtrado, Empresas como Google, Microsoft y

StrikeIron se han asociado con Zend para proporcionar interfaces de servicios

web y otras tecnologías que desean poner a disposición de los desarrolladores de

Zend Framework.

1.3.3.3 Symfony [28]

Symfony es un completo framework diseñado para optimizar el desarrollo de las

aplicaciones web basado en el patrón Modelo Vista Controlador. Para empezar,

separa la lógica de negocio, la lógica de servidor y la presentación de la

aplicación web. Proporciona varias herramientas y clases encaminadas a reducir

el tiempo de desarrollo de una aplicación web compleja. Además, automatiza las

tareas más comunes, permitiendo al desarrollador dedicarse por completo a los

aspectos específicos de cada aplicación. El resultado de todas estas ventajas es

que no se debe reinventar la rueda cada vez que se crea una nueva aplicación

web. Symfony está desarrollado completamente en PHP 5.3. Ha sido probado en

numerosos proyectos reales y se utiliza en sitios web de comercio electrónico de

primer nivel. Symfony es compatible con la mayoría de gestores de bases de

datos, como MySQL, PostgreSQL, Oracle y Microsoft SQL Server.

Page 37: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

24

1.3.3.4 Kohana Framework vs Zend PHP vs Symfony

A continuación mediante la Tabla 1.6 se expone los principales aspectos

concernientes al desarrollo del proyecto, con su calificación respectiva de acuerdo

a la tabla de ponderación en la Tabla 1.4:

Kohana Zend PHP Symfony

Orientación a

objetos

5 5 5

Paradigma MVC 5 5 5

Facilidad de

sentencias SQL

5 3 4

Facilidad de

utilización

5 2 4

Facilidad de

configuración

4 2 4

Experiencia de

los

programadores

5 3 0

Total 29 20 22

Tabla 1.6: Kohana vs Zend PHP vs Symfony

Debido a los puntajes obtenidos en la Tabla 1.5, se ha escogido Kohana

Framework PHP para desarrollar el proyecto. Cabe destacar que los aspectos en

los que más difiere a los otros dos Frameworks es su facilidad de configuración y

utilización, así como la experiencia que se posee en este Framework.

1.3.4 SERVIDOR WEB15

Puesto que el lenguaje de programación seleccionado para la aplicación es PHP

con Kohana Framework; se usará como servidor web Apache ya que es el más

15

Servidor Web: Es un programa informático que procesa una aplicación del lado del servidor realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente generando una respuesta en cualquier lenguaje o Aplicación del lado del cliente.

Page 38: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

25

afín a PHP, es libre (reduce costos del proyecto), y además es independiente del

sistema operativo en el cual se lo utilice.

1.3.5 ENTORNO DE DESARROLLO INTEGRADO (IDE)

Los IDEs son software que ayudan al programador a tareas como la codificación,

depuración y corrección de errores de código. Así pues se ha escogido Netbeans

IDE 6.9 puesto que permite trabajar en cualquier tipo de plataforma, ya sea

Windows o Linux, además de tener varias utilidades para la codificación en PHP.

1.3.6 HERRAMIENTAS CASE16

Se utilizará StarUML para el diseño y modelado de los distintos diagramas. Esta

herramienta tiene la ventaja que contempla los estándares y sintaxis de UML17.

Además es una herramienta libre, por lo que no representa costos adicionales al

proyecto.

1.4 PRESUPUESTO GENERAL DEL SISTEMA

Para el presupuesto general del sistema se han tomado en cuenta todos los

factores que inciden en el desarrollo del proyecto, que son los siguientes:

· Recursos Humanos: estos costos incluyen la mano de obra y servicios de los

involucrados en el desarrollo del proyecto. Los cálculos de costos del

personal, son basados en sueldos mensuales promedio en el mercado

ecuatoriano, tomando como referencia que el proyecto durará 60 días

laborables y por tanto 240 horas. Para el presente proyecto estos costos se

muestran en la Tabla 1.7:

16

Herramienta Case: (Ingeniería de Software Asistida por Computadora) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de tiempo y dinero 17

UML: Son las siglas de UnifiedModelingLanguage.Es un lenguaje de modelado de sistemas de software respaldado por elOMG (Object Management Group).

Page 39: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

26

Valor hora trabajo

Cantidad (horas) Total

Jefe de proyecto $ 12,50 240,00 $ 3000,00 Desarrollador Master $ 4,375 240,00 $ 1050,00

Total $ 4.050 Tabla 1.7: Presupuesto de Recursos Humanos

· Gastos Administrativos: estos costos incluyen los viáticos y alimentación

utilizados a lo largo del desarrollo del proyecto. A continuación en la Tabla 1.8

se presenta el detalle de estos gastos. Para el cálculo se toma en cuenta los

20 días laborales de duración del proyecto :

Valor Unitario

Cantidad (días) Total

Viáticos $ 1,50 60,00 $ 90,00 Almuerzos $ 3,00 60,00 $ 180,00

Total $ 270,00 Tabla 1.8: Presupuesto de Gastos Administrativos

· Hardware: dentro de este presupuesto se incluye el costo de los equipos

utilizados para el desarrollo del proyecto, dicho costo se ve reflejado en la

Tabla 1.9:

Valor Unitario Cantidad Total

Impresora $ 200,00 1,00 $ 200,00 Computadores $ 750,00 2,00 $ 1.500,00

Total $ 1.700,00 Tabla 1.9: Presupuesto de Gastos en Hardware

· Software: estos gastos incluyen costos de licencias y soporte, que se

presentan en la Tabla 1.10 :

Valor Unitario Cantidad Total Razón

Kohana Framework PHP $ 0,00 1,00 $ 0,00 Licencia BSD (Libre) Servidor web Apache $ 0,00 1,00 $ 0,00 Licencia Apache (Libre) DBMS MySQL $ 0,00 1,00 $ 0,00 Licencia GNU GPL StarUML $ 0,00 1,00 $ 0,00 Licencia GNU GPL

Total $ 0,00 Tabla 1.10: Presupuesto de Gastos en Software

Page 40: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

27

· Insumos: en esta categoría se incluyen los gastos de servicios básicos y de

gastos que no intervienen directamente en el desarrollo del proyecto. En la

Tabla 1.11 se muestra el detalle de este tipo de gasto.

Valor Unitario

Cantidad (meses) Total

Energía $ 25,00 1,50 $ 37,50 Agua $ 5,00 1,50 $ 7,50 Oficina (CDs,papelería,etc) $ 20,00 3,00 $ 60,00 Teléfono e internet $ 30,00 3,00 $ 90,00

Total $ 195,00 Tabla 1.11: Presupuesto de Gasto en Insumos.

En la Tabla 1.12 se muestra el presupuesto general del proyecto tomando en

cuenta los gastos antes detallados. Es importante tomar en cuenta que los totales

no incluyen impuestos y tampoco gastos por imprevistos.

Total

Recursos Humanos $ 4.050,00 Administrativos $ 270,00 Hardware $ 1.700,00 Software $ 0,00 Insumos $ 195,00 Valor Neto $ 6.215,00 Utilidad (Con fines académicos) 0%

$ 0,00

Total $ 6.215,00 Utilidad (Con fines comerciales) 30%

$ 1.864.5

Total comercial $ 8079,50 Tabla 1.12: Presupuesto General del Sistema

Page 41: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

28

2. CAPÍTULO II: DESARROLLO DEL SISTEMA

2.1 REQUERIMIENTOS

Los requerimientos han sido extraídos de reuniones continuas con cada uno de

los usuarios que van a utilizar el sistema, con lo que se ha podido determinar 12

historias de usuarios agrupadas en módulos y administraciones.

2.1.1 USUARIOS DEL SISTEMA

En las reuniones con mandos gerenciales en una empresa de Courier, y tomando

en consideración las necesidades globales de este tipo de empresas, se ha

determinado los usuarios del mismo. Los cuales serán los beneficiarios de las

funcionalidades del sistema.

2.1.1.1 Administrador

Es el usuario encargado de configurar y gestionar todo el sistema para poder

utilizar la gestión de movimiento de paquetes. Así entonces podrá administrar

usuarios, perfiles de usuarios, competidores empresariales, contactos, clientes,

prospectos de clientes, tipos de carga, agentes destinatarios y promociones.

También podrá utilizar la gestión de movimiento de paquetes y generar reportes.

2.1.1.2 Gerente

Es el encargado de ingresar nuevos usuarios al sistema, con su respectiva

información, y además de asignarle el perfil que crea conveniente. A diferencia del

administrador, no podrá dar de baja a usuarios, ni tampoco administrar los perfiles

de usuarios. Si podrá utilizar las demás administraciones y generar reportes.

2.1.1.3 Operador de Call Center (Servicio al Cliente)

Es el encargado de informarle al cliente la información acerca de su paquete. Por

tanto tendrá acceso a la gestión de movimiento de paquetes, pero solo podrá

observar la información, más no modificarla o borrarla. Tendrá acceso también a

la administración de clientes y reportes.

Page 42: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

29

2.1.1.4 Operador de Call Center (Publicidad)

Es el encargado de ingresar nuevos prospectos de clientes y clientes, así como

ingresar observaciones acerca de los mismos.

2.1.2 HISTORIAS DE USUARIO

Las historias de usuario suelen ser una parte central de las metodologías de

desarrollo ágil, en este caso XP. Se toman en cuenta parámetros básicos e

importantes para el desarrollo, tales como riesgo y esfuerzo según referencia

bibliográfica [35], la cual cuenta también con una buena definición del formato de

historias de usuario. Es así que se tienen los siguientes conceptos:

· Riesgo: se pueden mencionar el uso de tecnología desconocida y

restricción en disponibilidad de recursos humanos, de hardware o software.

· Esfuerzo: es un cálculo basado en puntos, que corresponden a semanas

ideales de trabajo, tomando en cuenta el esfuerzo asociado a pruebas

unitarias, integración de módulos, pruebas de aceptación y refactorización

del código.

Cada historia de usuario, en el formato definido en [35], deben contener los

siguientes elementos:

· Número: identificador numérico de la historia de usuario.

· Nombre: denominación que se le da a la historia de usuario para facilitar su

posterior identificación.

· Usuario: es el encargado dentro del sistema quien realizará las

operaciones detalladas en las historias de usuario.

· Riesgo en Desarrollo: se basa en el riesgo que enfrenta el equipo de

desarrollo en la obtención de resultados de una historia de usuario, para

que satisfaga los requerimientos del cliente. Puede ser alto, medio o bajo.

· Prioridad en Negocio: definido por el cliente, es el grado de prioridad para

el desarrollo de cada historia de usuario.

· Puntos Estimados: puntos de esfuerzo determinado por la duración de

desarrollo de la historia de usuario.

· Descripción: explicación del requerimiento expresado en la historia de

usuario. Puede ser susceptible a cambios durante la etapa de desarrollo.

Page 43: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

30

· Observaciones: puntos que describan o aclaren la descripción y la historia

de usuario en sí.

2.1.2.1 Gestión Administrativa

Historia de Usuario

Número: 01 Nombre de funcionalidad: Administración de Perfiles

Usuario: Administrador Puntos Estimados: 0,2 Riesgo en Desarrollo: Medio (Alta/Media/Baja)

Prioridad en el negocio: Alta (Alta/Media/Baja)

Descripción: el administrador del sistema tendrá acceso para crear, modificar o desactivar perfiles de usuario, estos perfiles se definirán mediante accesos a diferentes funcionalidades, definidas en la creación de un nuevo perfil.

Observaciones: la administración de perfiles no necesita la creación previa de algún otro elemento. Se definen las funcionalidades generales como Administración, Gestión de Carga y Reportes, cada una con sus funcionalidades específicas.

Tabla 2.1: Historia de Usuario – Administración de Perfiles

Historia de Usuario

Número: 02 Nombre de funcionalidad: Administración de Usuarios

Usuario: Administrador Puntos Estimados: 0,6 Riesgo en Desarrollo: Medio (Alta/Media/Baja)

Prioridad en el negocio: Alta (Alta/Media/Baja)

Descripción: el administrador del sistema tendrá acceso para crear, modificar o desactivar usuarios, estos usuarios se definirán mediante un nombre y la asignación de un perfil previamente creado.

Observaciones: se necesita por lo menos un perfil creado para poder crear un usuario.

Tabla 2.2: Historia de Usuario – Administración de Usuarios.

Historia de Usuario

Número: 03 Nombre de funcionalidad: Administración de Contactos

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,6 Riesgo en Desarrollo: Bajo (Alta/Media/Baja)

Prioridad en el negocio: Media (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá la facultad de crear, modificar o desactivar contactos relacionados con la empresa.

Observaciones: se entiende como contactos a las personas naturales o jurídicas de las cuales se necesitan información para usarla como medio de difusión de promociones o contratación de servicios externos en el presente o futuro próximo.

Tabla 2.3: Historia de Usuario – Administración de Contactos.

Page 44: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

31

Historia de Usuario

Número: 04 Nombre de funcionalidad: Administración de Competencia

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,2 Riesgo en Desarrollo: Bajo (Alta/Media/Baja)

Prioridad en el negocio: Baja (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá la facultad de crear, modificar o desactivar registros de competencia.

Observaciones: se entiende como competencia a las personas naturales o jurídicas que ofrecen los mismos servicios o productos, de las cuales se necesitan información relacionada a éstos.

Tabla 2.4: Historia de Usuario – Administración de Competencia.

Historia de Usuario

Número: 05 Nombre de funcionalidad: Administración de Clientes

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,8 Riesgo en Desarrollo: Alto (Alta/Media/Baja)

Prioridad en el negocio: Alta (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá la facultad de crear, modificar o desactivar clientes.

Observaciones: se entiende como cliente a las personas naturales o jurídicas las cuales han realizado alguna compra en la empresa y de las cuales se tienen datos y documentos importantes para agilitar tramites, por ejemplo copias de cédula, pasaporte, RUC, etc.

Tabla 2.5: Historia de Usuario – Administración de Clientes.

Historia de Usuario

Número: 06 Nombre de funcionalidad: Administración de Prospectos

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,8 Riesgo en Desarrollo: Medio (Alta/Media/Baja)

Prioridad en el negocio: Alta (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá la facultad de crear, modificar o desactivar prospectos.

Observaciones: se entiende como prospecto a las personas naturales o jurídicas las cuales han mostrado algún tipo de interés en los servicios de la empresa, no es obligatorio llenar todos los campos de datos, además un prospecto tiene la facilidad de convertirse en cliente.

Tabla 2.6: Historia de Usuario – Administración de Prospectos.

Page 45: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

32

2.1.2.2 Gestión de Carga

Historia de Usuario

Número: 07 Nombre de funcionalidad: Administración de Tipos de Carga

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,2 Riesgo en Desarrollo: Bajo (Alta/Media/Baja)

Prioridad en el negocio: Media (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá la facultad de crear, modificar o desactivar diversos tipos de carga.

Observaciones: se entiende como tipo de carga al tipo de contenido que llevan los paquetes, es decir puede ser un paquete normal, frágil o delicado, depende las necesidades del usuario pueden crearse el número de tipos de carga que desee.

Tabla 2.7: Historia de Usuario – Administración de Tipos de Carga.

Historia de Usuario

Número: 08 Nombre de funcionalidad: Admin. de Agentes Destinatarios

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,2 Riesgo en Desarrollo: Bajo (Alta/Media/Baja)

Prioridad en el negocio: Media (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá acceso para crear, modificar o desactivar agentes destinatarios.

Observaciones: se entiende como agente destinatario a las personas naturales o jurídicas quienes reciben los diferentes paquetes en sus oficinas antes de ser enviados a su destino final. Estos agentes destinatarios son empresas aliadas que permiten el descongestionamiento de recepción y envío de paquetes.

Tabla 2.8: Historia de Usuario – Administración de Agentes Destinatarios.

Historia de Usuario

Número: 09 Nombre de funcionalidad: Administración de Promociones

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,2 Riesgo en Desarrollo: Bajo (Alta/Media/Baja)

Prioridad en el negocio: Baja (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá acceso para crear, modificar o desactivar promociones.

Observaciones: se entiende como promoción como la preparación de las condiciones óptimas para dar un artículo a conocer o para incrementar las ventas. Generalmente son creadas en fechas especiales.

Tabla 2.9: Historia de Usuario – Administración de Promociones.

Page 46: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

33

Historia de Usuario

Número: 10 Nombre de funcionalidad: Administración de Paquetes

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 1,4 Riesgo en Desarrollo: Alto (Alta/Media/Baja)

Prioridad en el negocio: Alta (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá acceso para crear, modificar o desactivar paquetes. Se toma en cuenta que en la modificación de paquetes es necesario manejar los diferentes estados por los que atraviesa el paquete.

Observaciones: se entiende como paquete al artículo que se transporta y se entrega al cliente solicitante. Estos paquetes son el objetivo de la actividad económica de la empresa. Se entiende como estado del paquete al lugar o trámite en donde se encuentra el paquete.

Tabla 2.10: Historia de Usuario – Administración de Paquetes.

2.1.2.3 Gestión de Reportes

Historia de Usuario

Número: 11 Nombre de funcionalidad: Reporte de Clientes/Prospectos

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,6 Riesgo en Desarrollo: Medio (Alta/Media/Baja)

Prioridad en el negocio: Media (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá acceso para crear un reporte de clientes/prospectos definido por un rango de fechas de creación, país, tipo (cliente o prospecto) y estado (activo o inactivo).

Observaciones: el reporte debe ser traducido a un archivo Excel o PDF para que pueda ser manipulado o impreso.

Tabla 2.11: Historia de Usuario – Reporte de Clientes/Prospectos.

Historia de Usuario Número: 12 Nombre de funcionalidad: Reporte de Carga

Usuario: Administrador y Usuarios con perfil asignado.

Puntos Estimados: 0,6

Riesgo en Desarrollo: Medio (Alta/Media/Baja)

Prioridad en el negocio: Media (Alta/Media/Baja)

Descripción: el administrador del sistema o usuario con permisos adecuados tendrá acceso para crear un reporte de carga definido por los siguientes campos de filtrado: Cliente, Usuario que registró el paquete, agente destinatario, tipo de carga, promoción y estado del paquete .

Observaciones: el reporte debe ser traducido a un archivo Excel o PDF para que pueda ser manipulado o impreso.

Tabla 2.12: Historia de Usuario – Reporte de Carga.

Page 47: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

34

2.2 ANÁLISIS

Una vez definidas las funcionalidades del sistema mediante historias de usuario,

se debe realizar un análisis en cuanto se refiere a tiempo y esfuerzo requeridos a

lo largo del desarrollo del proyecto, mediante este análisis podemos obtener una

estimación muy próxima a la realidad de los recursos necesarios para cumplir con

los objetivos y requerimientos planteados en cada una de las historias de

usuarios.

De acuerdo a la metodología que se está utilizando (XP), es necesario una

continua comunicación y colaboración entre el equipo de desarrollo y el cliente,

obteniendo de esta manera retroalimentación constante para que los objetivos se

cumplan siempre acorde al deseo del cliente.

2.2.1 ESTIMACIÓN DE ESFUERZO

A continuación se tiene un listado de aspectos importantes que permitirán una

mejor estimación de tiempo y esfuerzo realizado en el desarrollo del proyecto.

Estos aspectos se manejan de forma general de acuerdo a la metodología XP y a

la experiencia del grupo de desarrollo, y se complementan con otros definidos en

la referencia bibliográfica [35]:

· La jornada de trabajo será de 4 horas al día (Medio tiempo).

· El calendario de trabajo semanal se establece en 5 días laborables.

· El equipo de desarrollo está conformado por dos personas.

· Un punto estimado es considerado como una semana de trabajo para el

equipo de desarrollo.

· El riesgo es considerado como criterio del equipo de desarrollo y trata de

valorar las complicaciones que pueden presentarse.

· La prioridad es igualmente una valoración de la importancia que tiene la

historia de usuario para el cliente.

En la Tabla 2.13 se observa la estimación de esfuerzo realizado para el desarrollo

de la aplicación. Este formato de tabla es un complementario entre los que están

definidos en las referencias bibliográficas [35] y [36]:

Page 48: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

35

No.

Historia Nombre Historia Riesgo Prioridad

Puntos

Estimados

(1 pto = 1

semana)

Tiempo

(días

medio

tiempo)

01 Administración de Perfiles Medio Alta 0,4 2

02 Administración de Usuarios Medio Alta 1,2 6

03 Administración de Contactos Bajo Media 1,2 6

04 Administración de Competencia Bajo Baja 0,4 2

05 Administración de Clientes Alto Alta 1,6 8

06 Administración de Prospectos Medio Alta 1,6 8

07 Administración de Tipos de Carga Bajo Media 0,4 2

08 Admón. de Agentes Destinatarios Bajo Media 0,4 2

09 Administración de Promociones Bajo Baja 0,4 2

10 Administración de Paquetes Alto Alta 2,0 10

11 Reporte de Clientes/Prospectos Medio Media 1,2 6

12 Reporte de Carga Medio Media 1,2 6

Tabla 2.13: Estimación de Esfuerzos

2.2.2 PRIORIZACIÓN

Se definen presumiblemente las iteraciones del proyecto y qué historias de

usuarios van en cada una de ellas. Para establecer dichas iteraciones se toman

en cuenta el esfuerzo realizado, el costo en tiempo, la prioridad que tiene en la

empresa y el riesgo que se genera en el proceso de desarrollo. En la Tabla 2.14

se han clasificado las historias de usuario agrupadas por iteración:

Nº Historia

Nombre Historia Iteración

01 Administración de Perfiles 1

02 Administración de Usuarios 1

03 Administración de Contactos 1

04 Administración de Competencia 1

07 Administración de Tipos de Carga 2

08 Admón. de Agentes Destinatarios 2

Page 49: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

36

09 Administración de Promociones 2

05 Administración de Clientes 2

06 Administración de Prospectos 2

10 Administración de Paquetes 3

11 Reporte de Clientes/Prospectos 3

12 Reporte de Carga 3

Tabla 2.14: Priorización de historias de usuario.

2.2.3 PLAN DE ENTREGAS

Para cada historia de usuario, además de tener asignada una iteración tentativa,

es importante determinar rangos de fechas en los cuales se van cumpliendo los

objetivos. En este caso se toma en cuenta que todas las historias de usuario se

realizarán de manera secuencial, pero dado el caso se pueden llegar a hacer

simultáneamente consiguiendo así, la reducción del tiempo total de desarrollo.

En la Tabla 2.15 se observa los detalles de las fechas asignadas para cada

historia de usuario.

Nº Historia

Nombre Historia Iteración Fecha Inicio Fecha Fin

01 Administración de Perfiles 1 01/07/2013 02/07/2013

02 Administración de Usuarios 1 03/07/2013 10/07/2013

03 Administración de Contactos 1 11/07/2013 18/07/2013

04 Administración de Competencia 1 19/07/2013 22/07/2013

07 Administración de Tipos de Carga 2 23/07/2013 24/07/2013

08 Admin. de Agentes Destinatarios 2 25/07/2013 26/07/2013

09 Administración de Promociones 2 29/07/2013 30/07/2013

05 Administración de Clientes 2 31/07/2013 09/08/2013

06 Administración de Prospectos 2 12/08/2013 21/08/2013

10 Administración de Paquetes 3 22/08/2013 04/09/2013

11 Reporte de Clientes/Prospectos 3 05/09/2013 12/09/2013

12 Reporte de Carga 3 13/09/2013 19/09/2013

Tabla 2.15: Plan de Entregas.

Page 50: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

37

2.3 DISEÑO

2.3.1 DISEÑO ARQUITECTÓNICO DEL SISTEMA

Para el presente proyecto se utilizará un diseño arquitectónico que se ajuste con

el desarrollo web. Para ello se ha escogido una arquitectura de tres capas MVC

(Modelo Vista Controlador), que consiste en una especialización de la arquitectura

Cliente – Servidor. Además es la arquitectura utilizada por Kohana PHP

Framework, el framework escogido para el desarrollo del presente proyecto. Tiene

como principal ventaja la reutilización de código y la separación de conceptos en

el código, características que facilitan la organización y posterior mantenimiento

de código.

2.3.1.1 Arquitectura MVC (Modelo – Vista – Controlador)

· Modelo: es la representación de la información con la cual el sistema opera,

por lo tanto gestiona todos los accesos a dicha información y las bases de

datos, tanto consultas como actualizaciones, implementando también los

privilegios de acceso que se hayan descrito en las especificaciones de la

aplicación. Envía a la vista aquella parte de la información que en cada

momento se le solicita para que sea mostrada. Para el presente proyecto se

utilizará ORM18 (Object-Relational Mapping), integrado en Kohana Framework,

para realizar las llamadas a la base de datos MySQL.

· Controlador: responde a eventos (usualmente acciones del usuario) e invoca

peticiones al modelo cuando se hace alguna solicitud sobre la información (por

ejemplo, editar un documento o un registro en una base de datos). También

puede enviar comandos a su vista asociada si se solicita un cambio en la

forma en que se presenta de modelo, por tanto se podría decir que el

controlador hace de intermediario entre la vista y el modelo. Kohana

Framework, utiliza clases y controladores escritos en PHP.

18

ORM: Object-Relational mapping, es una técnica de programación para convertir datos entre el sistema de tipos utilizado, en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional, utilizando un motor de persistencia.

Page 51: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

38

· Vista: presenta el modelo (información) en un formato adecuado para

interactuar, usualmente la interfaz de usuario. Para el presente proyecto se

utilizará HTML, CSS y librerías javascript (jQuery).

Así entonces en la Figura 2.1 se ilustra la arquitectura MVC utilizado en el

desarrollo del presente proyecto:

Navegador web

Figura 2.1: Arquitectura MVC del sistema

2.3.2 TARJETAS CRC

Las tarjetas CRC fueron propuestas por Kent Beck y Ward Cunningham y

representan objetos; la clase a la que pertenece el objeto se escribe arriba de

cada tarjeta, las responsabilidades u objetivos que debe llevar a cabo el objeto se

escriben a la izquierda, y la derecha las clases que se relacionan con dicho

objeto. Su gran ventaja es que permite estimar si el conjunto de clases obtenida

hasta este punto (o versiones posteriores del mismo) responden bien a las

necesidades del sistema, y además estas se convierten en una aproximación para

el diagrama de clases. [37]

Servidor Web CONTROLADOR

(PHP)

VISTA (PHP, JQuery,

HTML, Javascript, AJAX)

MODELO (PHP, ORM)

Base de Datos (MySQL)

Page 52: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

39

2.3.2.1 TARJETAS CRC DEL SISTEMA

CLIENTE

RESPONSABILIDADES COLABORADORES Atributos:

· Id · Código · Número de Identificación (CI, pasaporte) · Nombres · Apellidos · Nombre del representante legal (Si es que

es empresa) · Apellido del representante legal (Si es que

es empresa) · Teléfono del representante legal (Si es

que es empresa) · Ciudad · País · Dirección · Teléfono · Email · Código Postal · Datos Adjuntos · Estado (Activado, desactivado) · Tipo (Cliente ó prospecto) · Fecha de Creación

Operaciones · Ver Cliente · Actualizar Cliente · Consultar Cliente

· Paquete · Usuario · Observación

Tabla 2.16: Tarjeta CRC - Cliente

OBSERVACIÓN RESPONSABILIDADES COLABORADORES

Atributos: · Id · Observación · Estado · Razón · Fecha de Creación · Fecha de Recordatorio · Número de Cotización · Promoción

Operaciones · Ver observación

· Cliente · Usuario · Promoción

Tabla 2.17: Tarjeta CRC - Observación

Page 53: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

40

COMPETIDOR

RESPONSABILIDADES COLABORADORES Atributos:

· Id · Nombre · Ciudad · País · Dirección · Teléfono · Email · Observación · Datos Adjuntos · Fecha de Creación

Operaciones · Ingresar Competidor · Actualizar Competidor · Eliminar Competidor · Consultar Competidor

· Usuario

Tabla 2.18: Tarjeta CRC - Competidor

CONTACTO RESPONSABILIDADES COLABORADORES

Atributos: · Id · Nombre · Ciudad · País · Dirección · Teléfono · Email · Observación · Fecha de Creación

Operaciones · Ingresar Contacto · Actualizar Contacto · Eliminar Contacto · Consultar Contacto

· Usuario

Tabla 2.19: Tarjeta CRC - Contacto

AGENTE DESTINATARIO

RESPONSABILIDADES COLABORADORES Atributos:

· Id · Nombre · Dirección · Email

· Paquete

Page 54: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

41

· Teléfono · Observaciones · Fecha de Creación · Estado

Operaciones: · Ver Agente Destinatario · Crear Agente Destinatario · Actualizar Agente Destinatario · Desactivar Agente Destinatario

Tabla 2.20: Tarjeta CRC – Agente Destinatario

PROMOCIÓN RESPONSABILIDADES COLABORADORES

Atributos: · Id · Nombre · Descripción · Estado

Operaciones: · Consultar Promoción · Crear Promoción · Actualizar Promoción · Desactivar Promoción

· Paquete

Tabla 2.21: Tarjeta CRC – Promoción

TIPO DE CONTENIDO RESPONSABILIDADES COLABORADORES

Atributos: · Id · Nombre · Prefijo · Estado

Operaciones: · Consultar Tipo de Contenido · Crear Tipo de Contenido · Actualizar Tipo de Contenido · Desactivar Tipo de Contenido

· Paquete

Tabla 2.22: Tarjeta CRC – Tipo de Contenido

PAQUETE RESPONSABILIDADES COLABORADORES

Atributos: · Id · Código

· Cliente · Agente Destinatario

Page 55: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

42

· Descripción · Cliente · Agente Destinatario · Promoción · Tipo de Contenido · Usuario · Fecha de Creación · Fecha de embarque · Número de cajas en embarque · Guía de embarque · Fecha de arribo · Número de cajas arribo · Fecha en aduana · Número de refrendo · Fecha en aforo · Fecha en liquidación de impuestos · Número de comprobante de

liquidación · Fecha de pago de impuestos · Fecha en Bodegas · Fecha de pago de cliente · Fecha de despacho a cliente · Estado del paquete

Operaciones:

· Consultar Paquetes · Ingresar Paquete · Ver Paquete · Actualizar Paquete · Cargar formulario de embarque · Cargar formulario de arribo · Cambiar estado · Cambiar estado múltiple · Cambiar a estado previo · Cambiar a estado previo múltiple

· Usuario · Tipo de Contenido

Tabla 2.23: Tarjeta CRC - Paquete

USUARIO RESPONSABILIDADES COLABORADORES

Atributos: · Id · Nombre de Usuario · Contraseña · Identificación · Nombre · Apellido · Ciudad · Dirección · Celular

· Perfil · Paquete · Cliente

Page 56: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

43

· Teléfono · Email · Estado · Fecha de Creación

Operaciones: · Autenticar · Permitir Acceso · Ver Usuarios · Crear usuario · Actualizar usuario · Desactivar Usuario

Tabla 2.24: Tarjeta CRC - Usuario

PERFIL

RESPONSABILIDADES COLABORADORES Atributos:

· Id · Nombre · Estado

Operaciones: · Ver Perfiles · Crear Perfil · Actualizar Perfil · Desactivar Perfil · Cargar acción

· Usuario

Tabla 2.25: Tarjeta CRC – Perfil

2.3.3 DIAGRAMA DE CLASES

El diagrama de clases sirve para visualizar las relaciones entre las clases que

posee el sistema, además de mostrar cada uno de los atributos y métodos de

cada clase. A continuación se explica cada uno de los elementos que conforman

un diagrama de clases, así como la sintaxis utilizada. [38]

2.3.3.1 Elementos y sintaxis de un diagrama de clases

2.3.3.1.1 Clase

Una clase es un elemento que define los atributos y comportamientos que un

objeto podrá generar. Las clases se representan por rectángulos que muestran el

nombre de la clase y opcionalmente el nombre de las operaciones y atributos.

Page 57: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

44

2.3.3.1.2 Atributos

Son las características propias de cada clase, cada uno de ellos puede tener

distinto nivel de acceso y un tipo de dato. A continuación en la Tabla 2.25 se

muestra la notación UML de los distintos niveles de acceso:

Notación UML Nivel de Acceso Descripción

+ Público (Public) Son accesibles desde cualquier clase.

- Privado (Private) Son accesibles solo desde la misma clase

donde fueron declarados.

# Protegido (Protected) Son accesibles desde la misma clase que

donde fueron declarados y en sus subclases.

Tabla 2.26: Nivel de acceso

En PHP, los atributos por defecto son declarados como públicos. En Kohana

Framework al utilizar ORM en cambio, los declara por defecto como protegidos.

Por ejemplo: # nombre

2.3.3.1.3 Métodos

Los métodos son la forma en cómo una clase interactúa con su entorno, se

muestran al menos con su nombre y nivel de acceso. Al igual que los atributos, el

nivel de acceso puede ser prívate, public o protected, como se expone en la Tabla

2.25. En PHP, los métodos por defecto son declarados como públicos.

Por ejemplo: + PermitirAcceso()

2.3.3.1.4 Relaciones

Implica que dos elementos del modelo tienen una relación usualmente

implementada como una variable de instancia de una clase. Este conector puede

incluir roles nombrados en cada extremo, cardinalidad, dirección y restricciones

dependiendo el tipo de relación. [39]

Las clases se puede relaciones (estar asocionadas) con otras de diferentes

maneras:

· Generalización: La generalización es uno de los conceptos fundamentales de

la programación orientada a objetos, en la que una clase «recoge» todos los

atributos y operaciones de la clase de la que es heredera, y puede

Page 58: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

45

alterar/modificar algunos de ellos, así como añadir más atributos y

operaciones propias. En UML, las generalizaciones se representan por medio

de una línea que conecta las dos clases, con una flecha en el lado de la clase

base como se muestra en el ejemplo de la Figura 2.2:

Figura 2.2: Ejemplo de Generalización con UML

· Asociación: representa una relación entre clases, y aporta la semántica común

y la estructura de muchos tipos de «conexiones» entre objetos, pueden tener

un papel que especifica el propósito de la asociación y pueden ser

unidireccionales o bidireccionales. Cada extremo de la asociación también

tiene un valor de cardinalidad. La cardinalidad esta dado según la Tabla 2.26:

·

Notación UML Descripción

1...* Uno o muchos

0..* Cero o muchos

m (m denota un

número)

Número fijo

Tabla 2.27: Cardinalidad en UML

Las asociaciones se representan por medio de líneas que conectan las clases

participantes en la relación, con su respectiva cardinalidad. [40] Como se

muestra en el ejemplo de la Figura 2.3:

Figura 2.3: Ejemplo de Asociación con UML

PersonaExterna

Contacto Competidor

Paquete Tipo de Contenido0..* 1

Page 59: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

46

· Composición / Agregación: Cuando se requiere componer objetos que son

instancias de clases definidas por el desarrollador de la aplicación, tenemos

dos posibilidades:

o Por Valor (Composición): Es un tipo de relación estática, en donde el

tiempo de vida del objeto incluido está condicionado por el tiempo de

vida del que lo incluye. En UML son representados por un rombo

pintado, como se observa en el ejemplo de la Figura 2.4.

Opcionalmente pueden tener cardinalidad.

Figura 2.4: Ejemplo de Composición con UML

o Por Referencia (Agregación): Es un tipo de relación dinámica, en donde

el tiempo de vida del objeto incluido es independiente del que lo incluye.

En UML son representados por un rombo transparente, como se

observa en el ejemplo de la Figura 2.5. Opcionalmente pueden tener

cardinalidad.

Figura 2.5: Ejemplo de Agregación con UML

· Dependencia: Representa un tipo de relación en la que una clase es

dependiente de otro objeto/clase para su instanciación. Se denota por una

flecha punteada. [41]

Figura 2.6: Ejemplo de Dependencia con UML

Perfil Acción

0..*1

Paquete Cliente1 1

Factura.. Encabezado Factura

Page 60: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

47

2.3.3.2 Diagrama de Clases del Sistema

Después de analizar las tarjetas CRC (Clase – Responsabilidad – Colaboración ),

y además tener definida la sintaxis UML para el diagrama de clases, se obtiene el

diagrama de clases del sistema mostrado en el Figura 2.7:

Figura 2.7: Diagrama de Clases del Sistema

Page 61: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

48

2.3.4 DIAGRAMA FÍSICO DE LA BASE DE DATOS

Según el diagrama de clases, se ha elaborado el diagrama físico de la base de

datos que se muestra en la Figura 2.8, con las siguientes consideraciones en

base a los requerimientos específicos del cliente:

· Deben existir múltiples teléfonos, direcciones, emails y archivos adjuntos para

clientes.

· Los países son precargados, y estarán disponibles para escogerlos en todas

las administraciones cuando se los requiera.

· Para el presente proyecto no se tomaran en cuenta a contactos ni

competidores, ya que no intervienen en la gestión de movimiento de paquetes

· El idioma para los campos de bases de datos, deberá ser en inglés, al igual

que las variables y métodos en el código de programación.

Este diagrama además se lo puede encontrar en el Anexo digital II, para una

mejor visualización.

Page 62: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

49

Figura 2.8: Diagrama Físico de la Base de Datos

use

r

id pro

_id

cou

_id

use

rna

me

pa

ssw

ord

do

cum

en

td

ocu

me

nt_

typ

efi

rstn

am

ela

stn

am

eci

tya

dd

ress

ph

on

em

ob

ile

ma

ilst

atu

scr

ea

te_

da

te

int

int

int

varc

ha

r(1

00

)va

rch

ar(

10

0)

varc

ha

r(1

5)

EN

UM

('C','

O')

varc

ha

r(2

55

)va

rch

ar(

25

5)

varc

ha

r(2

55

)va

rch

ar(

25

5)

varc

ha

r(1

5)

varc

ha

r(1

5)

varc

ha

r(2

55

)E

NU

M('A

CT

IVE

','IN

AC

TIV

E')

tim

est

am

p

<p

k><

fk1

><

fk2

>

cust

om

er

id cou

_id

cod

ed

ocu

me

nt

do

cum

en

t_ty

pe

firs

tna

me

firs

t_la

stn

am

ese

con

d_

last

na

me

leg

al_

firs

tna

me

leg

al_

last

na

me

leg

al_

ph

on

eci

typ

ost

al_

cod

est

atu

sty

pe

cre

ate

_d

ate

int

int

varc

ha

r(1

0)

varc

ha

r(1

5)

EN

UM

('C','

O')

varc

ha

r(2

55

)va

rch

ar(

25

5)

varc

ha

r(2

55

)va

rch

ar(

25

5)

varc

ha

r(2

55

)va

rch

ar(

15

)va

rch

ar(

10

0)

varc

ha

r(1

5)

EN

UM

('AC

TIV

E','

INA

CT

IVE

')E

NU

M('P

RO

SP

EC

T','

CL

IEN

T')

tim

est

am

p

<p

k><

fk>

pa

cka

ge

id cus_

idst

a_

idco

n_

idu

se_

idre

c_id

off

_id

cod

ed

esc

rip

tio

ncr

ea

te_

da

tem

iam

i_d

ate

ship

pin

g_

da

tesh

ipp

ing

_g

uid

em

iam

i_b

oxe

se

cua

do

r_d

ate

ecu

ad

or_

bo

xes

cust

om

s_d

ate

cou

nte

rsig

n_

nu

mb

er

ap

pra

isa

l_d

ate

liq

uid

ati

on

_d

ate

liq

uid

ati

on

_n

um

be

rta

xes_

da

teq

uit

o_

da

tep

aid

_d

ate

de

live

red

_d

ate

int

int

int

int

int

int

int

varc

ha

r(1

2)

varc

ha

r(2

55

)ti

me

sta

mp

da

teti

me

da

teti

me

varc

ha

r(1

1)

int

da

teti

me

int

da

teti

me

varc

ha

r(3

0)

da

teti

me

da

teti

me

varc

ha

r(3

0)

da

teti

me

da

teti

me

da

teti

me

da

teti

me

<p

k><

fk5

><

fk6

><

fk3

><

fk4

><

fk2

><

fk1

>

all

ow

ed

_a

ctio

ns

id act

_id

url

int

int

varc

ha

r(2

55

)

<p

k><

fk>

act

ion

id pa

ren

t_id

na

me

lin

kw

eig

ht

int

int

varc

ha

r(5

0)

varc

ha

r(2

55

)d

eci

ma

l

<p

k>

pro

file

id na

me

sta

tus

int

varc

ha

r(1

20

)e

nu

m('A

CT

IVE

','IN

AC

TIV

E')

<p

k>

cou

ntr

y

id na

me

int

varc

ha

r(2

55

)<

pk>

cust

om

er_

ad

dre

ss

id cus_

ida

dd

ress

int(

25

5)

int

varc

ha

r(2

55

)

<p

k><

fk>

cust

om

er_

em

ail

id cus_

ide

ma

il

int

int

varc

ha

r(2

55

)

<p

k><

fk>

cust

om

er_

att

ach

me

nt

id cus_

idfi

le

int

int

varc

ha

r(2

55

)

<p

k><

fk>

cust

om

er_

ph

on

e

id cus_

idp

ho

ne

typ

e

int

int

nu

me

ric(

15

,0)

EN

UM

('MO

BIL

','C

ON

VE

NT

ION

AL

')

<p

k><

fk>

cust

om

er_

ob

serv

ati

on

id cus_

idu

se_

ido

bse

rva

tio

nst

atu

sre

aso

n

int

int

int

varc

ha

r(2

55

)E

NU

M('N

OR

MA

L','

RE

MIN

DE

R')

EN

UM

('OF

FE

R','

QU

OT

E','

OT

HE

R')

<p

k><

fk1

><

fk2

>

off

er

id na

me

de

scri

pti

on

sta

tus

int

varc

ha

r(2

55

)va

rch

ar(

25

5)

EN

UM

('AC

TIV

E','

INA

CT

IVE

')

<p

k>

rece

ive

r_a

ge

nt

id na

me

ad

dre

ssp

ho

ne

mo

bil

em

ail

ob

serv

ati

on

cre

ate

_d

ate

sta

tus

int

varc

ha

r(2

55

)va

rch

ar(

25

5)

nu

me

ric(

15

,0)

nu

me

ric(

15

,0)

varc

ha

r(2

55

)va

rch

ar(

25

5)

tim

est

am

pE

NU

M('A

CT

IVE

','IN

AC

TIV

E')

<p

k>

con

ten

t_ty

pe

id na

me

pre

fix

sta

tus

int

varc

ha

r(2

55

)va

rch

ar(

1)

EN

UM

('AC

TIV

E','

INA

CT

IVE

')

<p

k>

sta

tus

id na

me

ali

as

int

varc

ha

r(1

00

)va

rch

ar(

25

5)

<p

k>

pro

file

_a

ctio

n

id act

_id

int

int

<p

k,fk

1>

<p

k,fk

2>

Page 63: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

50

2.3.4.1 Diccionario de Datos del Sistema

Un diccionario de datos permite conocer todos los datos involucrados en el flujo

del sistema, así como el tipo, la longitud y descripción de cada uno de ellos. A

continuación se presentan cada uno de ellos por cada entidad de base de datos.

ENTIDAD: CUSTOMER ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador del cliente.

code Variable characters (10) Es el código propio de TransferCargo de un cliente. De la siguiente manera: Prefijo “TC” seguido de 8 dígitos, de 00000000 a 99999999, incrementados secuencialmente. Es obligatorio.

document Variable characters (15) Es el número de identificación del cliente. Es obligatorio.

document_type ENUM('C'.'O') Es el tipo de identificación del cliente. C si es la cédula, O si es otros (RUC, Pasaporte, etc). Es obligatorio.

firstname Variable characters (255) Es el nombre del cliente. Es obligatorio.

first_lastname Variable characters (255) Es el primer apellido del cliente. Es obligatorio.

second_lastname Variable characters (255) Es el segundo apellido del cliente.

legal_firstname Variable characters (255) Es el nombre del representante legal, en caso de que fuera una empresa.

legal_lastname Variable characters (255) Es el apellido del representante legal, en caso de que fuera una empresa.

legal_phone Variable characters (15) Es el teléfono del representante legal, en caso de que fuera una empresa.

city Variable characters (100) Es la ciudad de vivienda del cliente

Page 64: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

51

postal_code Variable characters (15) Es el código postal del cliente.

status ENUM('ACTIVE'.'INACTIVE') Es el estado del cliente en el sistema. Es obligatorio.

type ENUM('PROSPECT'.'CLIENT') Es el tipo de cliente. Puede ser un prospecto (Aún no es cliente) ó un cliente. Es obligatorio.

create_date Timestamp Es la fecha de creación del cliente en el sistema.

Tabla 2.28: Diccionario de Datos: Entidad Customer

ENTIDAD: CUSTOMER OBSERVATION ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador de la observación de cliente.

observation Variable Characters (255) Es la observación acerca de un cliente. Es obligatorio.

status ENUM ('NORMAL'.'REMINDER') Es el estado de la observación. Puede ser normal (NORMAL) ó con recordatorio (REMINDER). Es obligatorio.

reason ENUM ('OFFER'.'QUOTE'.'OTHER')

Es la razón de la observación. Puede ser por promoción (OFFER), cotización (QUOTE), u otro (OTHER). Es obligatorio.

create_date Timestamp Es la fecha de creación de la observación en el sistema.

reminder_date Date Es la fecha para el recordatorio, si es que el estado fuese REMINDER.

quote_number Variable Character (15) Es el número de cotización, si es que la razón fuese QUOTE.

Tabla 2.29: Diccionario de Datos: Entidad Customer Observation

ENTIDAD: CUSTOMER EMAIL ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador de un

Page 65: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

52

email de un cliente. email Variable Characters (255) Es la dirección electrónica

de un email de un cliente. Es obligatorio.

Tabla 2.30: Diccionario de Datos: Entidad Customer Email

ENTIDAD: CUSTOMER ADDRESS ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador de una dirección de un cliente.

address Variable Characters (255) Es la dirección física de un cliente. Es obligatorio.

Tabla 2.31: Diccionario de Datos: Entidad Customer Address

ENTIDAD: CUSTOMER PHONE ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador del teléfono de un cliente.

phone Number (15) Es el número telefónico de un cliente. Es obligatorio.

type ENUM ('MOBIL'.'CONVENTIONAL')

Es el tipo de teléfono. Puede ser celular (MOBIL) ó convencional (CONVENTIONAL)

Tabla 2.32: Diccionario de Datos: Entidad Customer Phone

ENTIDAD: CUSTOMER ATTACHMENT ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador de un archivo adjunto de un cliente.

file Variable Characters (255) Es el path (ruta) de un archivo adjunto de un cliente. Es obligatorio.

Tabla 2.33: Diccionario de Datos: Entidad Customer Attachment

ENTIDAD: PROFILE ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador del perfil

Page 66: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

53

de usuario. name Variable characters (120) Es el nombre del perfil de

usuario. Es obligatorio. status ENUM ('ACTIVE'.'INACTIVE') Es el estado del perfil de

usuario. Puede estar activo (ACTIVE) ó desactivado (INACTIVE). Es obligatorio.

Tabla 2.34: Diccionario de Datos: Entidad Profile

ENTIDAD: ACTION ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador de la acción de perfil.

parent_id Integer Es la acción padre si es que existiese. Sirve para armar el menú.

name Variable characters (50) Es el alias o nombre de la acción. Es el nombre que se mostrará en el menú.

link Variable characters (255) Es el link (url) de la acción de perfil. A este link irá dirigido la acción

weight Decimal Es el peso de la acción. Sirve para armar el menú.

Tabla 2.35: Diccionario de Datos: Entidad Action

ENTIDAD: ALLOWED ACTIONS ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador de la acción permitida.

url Variable characters (255) Es el url permitido para cada acción.

Tabla 2.36: Diccionario de Datos: Entidad Allowed Actions

ENTIDAD: USER ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador del usuario.

username Variable Characters (100) Es el alias de acceso del usuario. Es obligatorio.

password MD5 (100) Es el password del usuario, codificado con MD5. Es obligatorio.

document Variable Characters (15) Es el número de identificación del usuario. Es obligatorio.

document_type ENUM('C'.'O') Es el tipo de identificación

Page 67: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

54

del usuario. Si es cédula (C), ó si es otros la O (RUC, Pasaporte, etc). Es obligatorio.

firstname Variable Characters (255) Es el nombre del usuario. Es obligatorio.

lastname Variable Characters (255) Es el apellido del usuario. Es obligatorio.

city Variable Characters (255) Es la ciudad de vivienda del usuario.

address Variable Characters (255) Es la dirección de vivienda del usuario.

phone Number (15) Es el teléfono del usuario. mobil Number (15) Es el número celular del

usuario. email Variable Characters (255) Es la dirección electrónica

del usuario. status ENUM ('ACTIVE'.'INACTIVE') Es el estado del usuario en

el sistema. Puede estar activado (ACTIVE) ó desactivado (INACTIVE).

create_date Timestamp Es la fecha de creación del usuario en el sistema.

Tabla 2.37: Diccionario de Datos: Entidad User

ENTIDAD: PACKAGE ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador del paquete.

code Variable Characters (12) Es el código del paquete. Este es un código propio de la empresa. Dado de la siguiente manera: Prefijo “TC” seguido de 10 dígitos secuenciales. Es obligatorio.

description Variable Characters (255) Es una descripción del contenido del paquete.

create_date Timestamp Es la fecha de creación del paquete en el sistema.

miami_date Date & Time Es la fecha en la que el paquete llegó a las bodegas de Miami, procedente de cualquier parte de EEUU.

shipping_date Date & Time Es la fecha en la que el paquete fue embarcado rumbo a Ecuador.

shipping_guide Variable characters (11) Es la guía de embarque. El cual es una cadena de 11 caracteres, entre números y

Page 68: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

55

letras. miami_boxes Integer Es el número de cajas que

conforman el paquete, y que estaban en Miami.

ecuador_date Date & Time Es la fecha de arribo al Ecuador del paquete.

ecuador_boxes Integer Es el número de cajas del paquete que fueron recibidas en Ecuador.

customs_date Date & Time Es la fecha en la que el paquete se encuentra en aduana.

countersign_number Variable characters (30) Es el número de refrendo del paquete.

appraisal_date Date & Time Es la fecha en la que el paquete está en el aforo.

liquidation_date Date & Time Es la fecha en la que se liquidan los costos de aforo.

liquidation_number Variable characters (30) Es el código de liquidación del paquete

taxes_date Date & Time Es la fecha en la que se efectúa el pago de impuestos

quito_date Date & Time Es la fecha en la que el paquete está en las bodegas de Quito.

paid_date Date & Time Es la fecha de pago del cliente por su paquete.

delivered_date Date & Time Es la fecha de despacho del paquete al cliente.

Tabla 2.38: Diccionario de Datos: Entidad Package

ENTIDAD: CONTENT TYPE ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador del tipo de contenido de un paquete.

name Variable characters (255) Es el nombre o alias de un tipo de contenido de un paquete. Es obligatorio.

prefix Variable characters (1) Es un prefijo de una letra que servirá para identificar el tipo de contenido en el código del paquete. Es obligatorio.

description Variable characters (255) Es la descripción del tipo de contenido de un paquete. Es obligatorio.

status ENUM ('ACTIVE'.'INACTIVE') Es el estado del tipo de contenido de un paquete.

Page 69: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

56

Puede estar activo (ACTIVE) ó desactivado (INACTIVE). Es obligatorio.

Tabla 2.39: Diccionario de Datos: Entidad Content Type

ENTIDAD: STATUS ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador del estado de un paquete.

name Variable characters (100) Es el nombre del estado, por el que atraviesa un paquete. Se utilizará en el código fuente. Es obligatorio.

alias Variable characters (255) Es el alias del estado. Se utilizará para la presentación. Es obligatorio.

Tabla 2.40: Diccionario de Datos: Entidad Status

ENTIDAD: OFFER ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador de una promoción.

name Variable characters (255) Es el nombre de la promoción. Es obligatorio.

description Variable characters (255) Es la descripción de la promoción.

status ENUM('ACTIVE'.'INACTIVE') Es el estado de la promoción. Puede estar activa (ACTIVE) o desactivada (INACTIVE). Es obligatorio.

Tabla 2.41: Diccionario de Datos: Entidad Offer

ENTIDAD: RECIEVER AGENT

ATRIBUTO TIPO DE DATO DESCRIPCIÓN Id Serial Este campo es obligatorio, y es

auto incremental. Sirve como identificador del usuario.

name Variable characters (255) Es el nombre de un agente destinatario. Es obligatorio.

address Variable characters (255) Es la dirección de un agente destinatario.

phone Number (15) Es el teléfono de un agente destinatario.

mobil Number (15) Es el celular de un agente

Page 70: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

57

destinatario. email Variable characters (255) Es el correo electrónico de un

agente destinatario. observation Variable characters (255) Es las observaciones de un

agente destinatario. create_date Timestamp Es la fecha y hora de creación

de un agente destinatario. status ENUM('ACTIVE'.'INACTIVE') Es el estado de un agente

destinatario en el sistema. Este puede estar activado (ACTIVE), ó desactivado (INACTIVE). Es obligatorio.

Tabla 2.42: Diccionario de Datos: Entidad Receiver Agent

ENTIDAD: COUNTRY

ATRIBUTO TIPO DE DATO DESCRIPCIÓN

Id Serial Este campo es obligatorio, y es auto incremental. Sirve como identificador del país.

name Variable characters (255) Es el nombre del país. Es obligatorio.

Tabla 2.43: Diccionario de Datos: Entidad Country

2.3.5 DISEÑO DE INTERFACES DE USUARIO

El presente proyecto se enfoca en brindar facilidad de navegación a sus usuarios

manteniendo estándares de calidad visual y funcional. Para ello, se estandarizará

las formas y elementos de formularios, títulos, menús, entre otros, y se respeta la

distribución de las pantallas, formatos y nombres.

Para cumplir el objetivo descrito se hará uso de la norma ISO19 9241-151:2008,

denominada: “Ergonomics of human system interaction – Guidance on World

Wide Web user interfaces”. [42]

Todos los módulos en los que se ha dividido el proyecto trabajarán de acuerdo a

los estándares establecidos en esta sección, para de esta manera poder

integrarlos fácilmente y de manera correcta. Cabe resaltar que en el producto

final, algunos elementos pueden variar, más no las convenciones para nombres y

tamaños; además, las imágenes mostradas son referenciales y no reflejan el

producto final. Las características o consideraciones generales tomadas para el

19

ISO: (Organización Internacional de Normalización) es el organismo encargado de promover el desarrollo de normas internacionales y estándares.

Page 71: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

58

diseño de interfaces que se detallan a continuación fueron tomadas de la

referencia bibliográfica [43].

2.3.5.1 Consideraciones Generales

· El sistema debe presentar la información claramente al usuario, es decir

mostrar un título adecuado por cada pantalla, minimizando el uso de

abreviaturas y proporcionando una retroalimentación de usuario clara.

· El sistema debe ser consistente a lo largo de sus pantallas. Se puede lograr

consistencia por medio de:

o Ubicación de títulos, fecha, hora y mensajes de operador, en todas las

pantallas.

o Saliendo de cada pantalla mediante la misma opción (a través de

enlaces, botones o pulsando sobre un gráfico determinado).

o El uso de colores de manera homogénea para todas las pantallas.

o El uso de iconos para operaciones establecidos de manera similar.

· El Sistema debe realizar un reconocimiento de la aceptación de entrada, es

decir, el reconocimiento que la entrada está en la forma correcta. Antes del

envío de datos a servidor, se debe validar en la medida de lo posible que lo

que se desea ingresar sea correcto, o, por lo menos, sea un valor posible,

como se observa en la Figura 2.9.

Figura 2.9: Interfaz de inicio de sesión mostrando validaciones de datos

Page 72: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

59

· El sistema debe informar de forma clara y explícita del problema que puede

existir con los datos ingresados en los casos que sea necesario, como se

observa en la Figura 2.10.

Figura 2.10: Interfaz de Inicio de Sesión con un ingreso erróneo al Sistema.

· Los usuarios deben saber cuándo su petición está completa y si pueden

efectuar nuevas solicitudes; para ello el sistema desplegará un mensaje de

retroalimentación, como se observa en la Figura 2.11:

Figura 2.11: Interfaz de Administración de Perfiles con Mensaje de Creación exitosa.

Page 73: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

60

· El título de la página debe permitir al usuario identificar claramente en qué

lugar del sistema se encuentra ubicado, como se observa en la Figura

2.12:

Figura 2.12: Interfaz de Administración de Usuarios

· En caso de interfaces secuenciales, se debe permitir al usuario acceso a la

siguiente o anterior interfaz, como se observa en la Figura 2.13. se tiene el

botón “Regresar”:

Figura 2.13: Interfaz de Nuevo Usuario con botón de regreso

Page 74: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

61

· Los campos de solo lectura o no editables no permiten situar el cursor para

editar la información, y permanecen opacos.

· El cursor se localiza automáticamente de arriba hacia abajo y de izquierda

a derecha cuando se pulsa la tecla “Tab”. Es importante que la distribución

de los campos en los formularios sea simétrica, como se muestra en la

Figura 2.14:

Figura 2.14: Interfaz de creación de Usuario.

2.4 IMPLEMENTACIÓN

2.4.1 PROGRAMACIÓN

2.4.1.1 PHP

2.4.1.1.1 Estándares de programación PHP

Para la elaboración de código del presente proyecto se utilizarán los estándares

de programación PSR020, PSR1, PSR2, y PSR3 [44], aceptados y oficiales de la

comunidad de desarrolladores de PHP; además se utilizará los estándares

propios de Kohana Framework [45]. Entre las consideraciones más importantes

se tienen las siguientes: 20

PSR: (PHP Specification Request) son una serie de estándares de programación para PHP creados por el FIG (PHP Framework Interoperability Group) y aceptados por la comunidad oficial de desarrolladores PHP.

Page 75: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

62

· El código PHP debe utilizar las etiquetas largas <?php ?> o las etiquetas

cortas para imprimir salida de información <?= ?>; No se debe emplear otras

variantes.

· Los archivos sólo deben utilizar una codificación UTF-8 21.

· El código escrito para PHP 5.2.x o inferior debería emplear una convención de

pseudo-espacios de nombres con prefijos en los nombres de las clases con el

formato Proveedor_. Un ejemplo de ello se muestra en la Figura 2.15:

Figura 2.15: Estándar para nombres de clases

· Las funciones se escriben con notación camelCase() a menos que la notación

propia del Framework sea otra. En el caso de Kohana Framework se utiliza la

notación snake_case (minúsculas separado por guión bajo _ ). Además estas

funciones deberán devolver un solo valor. Esto se observa en el ejemplo de la

Figura 2.16:

Figura 2.16: Estándar para nombres de funciones y valores de retorno en Kohana Framework

21

UTF-8: Es un formato de codificación de caracteres Unicode e ISO 10646 utilizando símbolos de longitud variable. Está definido como estándar por la RFC 3629.

Page 76: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

63

· Las constantes deben ser definidas en mayúsculas y utilizando guion bajo (_)

cómo separador.

· Las llaves de apertura de las clases deben ir en la línea siguiente, y las llaves

de cierre deben ir en la línea siguiente al cuerpo de la clase.

· Las llaves de apertura de las estructuras de control deben estar en la misma

línea, y las de cierre deben ir en la línea siguiente al cuerpo. Además Los

paréntesis de apertura en las estructuras de control no deben tener un espacio

después de ellos, y los paréntesis de cierre no deben tener un espacio antes

de ellos, como se observa en la Figura 2.17:

Figura 2.17: Estándar para llaves y paréntesis de apertura y cierre, en estructuras de control

· Pueden añadirse líneas en blanco para mejorar la lectura del código y para

indicar bloques de código que estén relacionados.

· Las constantes de PHP true, false y null deben estar en minúsculas.

· En la lista de argumentos de una función o método no debe haber un espacio

antes de cada coma y debe haber un espacio después de cada coma. Los

argumentos con valores por defecto del método deben ir al final de la lista de

argumentos, como se observa en la Figura 2.18:

Figura 2.18: Estándar para lista de argumentos, en funciones y métodos

· Para los comentarios en PHP están permitidos los símbolos de apertura /* y //,

y los símbolos */ para cierre. No se debe utilizar el símbolo #. Es importante

expresar el tipo de variable resultado de cada función con la sintaxis @param

[tipo de dato] [variable]. Se puede observar un ejemplo de comentarios en

PHP en la Figura 2.19:

Page 77: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

64

Figura 2.19: Estándar para lista de argumentos, en funciones y métodos

2.4.1.1.2 Modelos en Kohana Framework

Kohana Framework al estar diseñado en un paradigma Modelo – Vista –

Controlador, utiliza sintaxis determinada para cada una de ellas. En el caso de los

modelos según la documentación propia de Kohana Framework [46] se lo debe

implementar como se muestra en la Figura 2.20, que representa al modelo User

(Usuario) del sistema:

Figura 2.20: Modelo Usuario, en Kohana Framework

Donde se observa lo siguiente:

· El nombre de la clase está dada por la notación Model_Nombredelmodelo.

· La clase hereda de ORM, que permite manejar y extraer los atributos

directamente desde la base de datos.

· La variable propia de ORM $_table_name cargará la tabla de base de datos

escrita en minúsculas. En este caso la tabla usuario.

· Las variables $_has_many, $_belongs_to, $_has_one propias de ORM sirven

para establecer relaciones entre modelos. Como se observa en la Figura 2.20,

un usuario pertenece a un perfil.

2.4.1.1.3 Controladores en Kohana Framework

En el caso de los controladores, Kohana Framework expone en su documentación

[47] reglas importantes en la elaboración de controladores para su correcta

funcionalidad, entre los más importantes están los siguientes:

Page 78: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

65

· Los controladores o carpetas que los contienen deben estar alojados en

clases/controllers

· El nombre de archivo de un controlador debe ser igual al modelo, y debe estar

en minúsculas.

· El nombre de la clase está dada por la notación

Controller_Nombredecarpeta_Nombredelcontrolador, y hereda del controlador

por defecto como se observa en la Figura 2.21.

· Las acciones (métodos) del controlador no deben utilizar notación camelCase,

sino snake_case22 (palabras separadas por _) como se observa en la Figura

2.21, donde se muestra el controlador Usuario y la acción index (por defecto

de Kohana Framework).

Figura 2.21: Controlador y acción de Usuario, en Kohana Framework

22

Snake Case: Es la práctica de la escritura de palabras o frases en la que los elementos se separan con un compuesto subrayado guión bajo (_) y sin espacios, con la letra inicial de cada elemento por lo general en minúsculas también.

Page 79: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

66

2.4.1.1.4 Vistas en Kohana Framework

En Kohana Framework las vistas son de código HTML. Pero se instancian y

registran variables desde el controlador. Para instanciar una vista se utiliza la

función View::factory, y para registrar una variable en ella, la función set, como

podemos observar en la Figura 2.22:

Figura 2.22: Instanciación de una vista y envío de variables a vista, en Kohana Framework

Para llamar desde las vistas a las variables registradas en el controlador basta

con crear una variable con el alias de esa variable (primer parámetro de la función

set). A continuación en la Figura 2.23 se muestra una parte de la vista por defecto

del controlador usuario, y además la llamada de la variable $users registrada en el

controlador:

Figura 2.23: Vista por defecto de Usuario, en Kohana Framework

Page 80: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

67

2.4.2 JQUERY (JAVASCRIPT)

Para el presente proyecto se utilizará jQuery, la cual es una biblioteca JavaScript

pero que sintetiza, facilita y acorta el código. Además permite la manipulación de

objetos HTML, el control de eventos y las peticiones ajax mucho más rápido y

simple. Se utilizará jQuery para las acciones AJAX23, validaciones de campos, y

además la manipulación de HTML. Cada archivo de javascript tendrá la notación

propia de jQuery como se muestra en el ejemplo de la Figura 2.24:

Figura 2.24: Ejemplo de Implementación de Código jQuery (javascript)

23

AJAX : Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas sin la necesidad de recargar toda una página web completa

Page 81: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

68

2.4.3 CSS (CASCADE STYLE SHEETS)

Mediante las hojas de estilo en cascada se puede dar formato visual a HTML.

Esto se logra aplicando diversas propiedades tanto de tipo estético como visual, a

cada atributo HTML mediante código CSS.

Para el presente proyecto se ha utilizado CSS 3, aceptado por la mayoría de

navegadores modernos, tales como Mozilla Firefox, Google Chrome, Safari, IE8,

etc. Se muestra un ejemplo de su utilización en la Figura 2.25:

Figura 2.25: Ejemplo de Código CSS

Page 82: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

69

2.5 PRUEBAS

2.5.1 PRUEBAS DE ACEPTACIÓN

Las pruebas fueron diseñadas por el equipo de desarrollo en base a los requisitos

funcionales especificados en la fase de análisis, mientras que le ejecución y

aprobación final correspondieron al usuario.

Las historias de usuario definidas en el numeral 2.1.2 fueron la base para la

realización de las pruebas de aceptación. El formato para las mismas se muestra

en la Tabla 2.44 [48] y sus componentes se definen a continuación:

· Caso de Prueba: es el nombre del módulo que se está probando.

· Opción de Prueba: nombre de la opción del menú que está siendo probada.

· Número de caso de Prueba: número del caso de prueba.

· Número de Historia de Usuario: número de historia de usuario que está

siendo probada.

· Nombre de Caso de Prueba: nombre del caso de prueba que se realiza.

· Precondiciones: condiciones previas para ejecutar la prueba.

· Datos: todo lo que el usuario ingresa, modifica o consulta.

· Pasos: actividades secuenciales que el usuario debe realizar para obtener los

resultados.

· Resultado Esperado: resultado que se pretende obtener al realizar la prueba.

· Evaluación: resultado obtenido de la prueba.

Tabla 2.44: Formato para Prueba de Aceptación

PRUEBAS DE ACEPTACIÓN

Caso de Prueba: Opción de Prueba:

Número de Caso de Prueba: Número de Historia de Usuario:

Nombre de Caso de Prueba:

Precondiciones:

Datos:

Pasos:

Resultado Esperado:

Evaluación:

Page 83: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

70

En las Tablas 2.45 a 2.50 se muestran seis de las pruebas de aceptación y sus

resultados. Las restantes pruebas de aceptación se encuentran en el Anexo III.

PRUEBA DE ACEPTACIÓN

Caso de Prueba: Administración del Sistema

Opción de Prueba: Perfiles

Número de Caso de Prueba: 01 Número de Historia de Usuario: 01

Nombre de Caso de Prueba: Nuevo Perfil

Precondiciones: Usuario debe tener permisos de administración de perfiles.

Datos:

Nombre de Perfil Variable characters 120

Funciones:

· Administración: o Perfiles o Usuarios o Contactos o Competencia o Clientes o Prospectos

· Gestión de Carga o Tipos de Carga o Agentes Destinatarios o Promociones o Paquetes

· Reportes

Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False)

Pasos: Una vez iniciada la sesión, dirigirse a la pestaña Administración, se despliega un menú, escoger opción Perfiles; se muestra el índice de la Administración de Perfiles. Ir a la parte superior izquierda y escoger vínculo a Nuevo Perfil, se despliega formulario de ingreso de datos para nuevo perfil. Completar los datos y guardar.

Resultado Esperado: Recibir un mensaje de confirmación de creación exitosa de perfil en la interface principal de Administración de Perfiles, y una nueva fila en la tabla principal con los datos del nuevo perfil. Esto significa un almacenamiento exitoso en la base de datos.

Evaluación: Se recibe mensaje de confirmación de creación exitosa de perfil y los datos se guardan exitosamente.

Tabla 2.45: Prueba de Aceptación – Nuevo Perfil

Page 84: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

71

PRUEBA DE ACEPTACIÓN

Caso de Prueba: Administración del Sistema

Opción de Prueba: Perfiles

Número de Caso de Prueba: 02 Número de Historia de Usuario: 01

Nombre de Caso de Prueba: Actualizar Perfil

Precondiciones: Usuario debe tener permisos de administración de perfiles.

Datos:

Nombre de Perfil Variable characters 120

Funciones:

· Administración: o Perfiles o Usuarios o Contactos o Competencia o Clientes o Prospectos

· Gestión de Carga o Tipos de Carga o Agentes Destinatarios o Promociones o Paquetes

· Reportes

Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False) Boolean(True/False)

Pasos: Una vez iniciada la sesión, dirigirse a la pestaña Administración, se despliega un menú, escoger opción Perfiles; se muestra el índice de la Administración de Perfiles. Al final de cada registro se encuentran dos enlaces, escoger vínculo Actualizar, se despliega formulario de ingreso de datos del perfil seleccionado. Completar los datos y guardar.

Resultado Esperado: Recibir un mensaje de confirmación de actualización exitosa de perfil en la interface principal de Administración de Perfiles, y la fila en la tabla principal con los datos actualizados del perfil. Esto significa un almacenamiento exitoso en la base de datos.

Evaluación: Se recibe mensaje de confirmación de actualización exitosa de perfil y los datos se guardan exitosamente.

Tabla 2.46: Prueba de Aceptación – Actualizar Perfil

Page 85: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

72

PRUEBA DE ACEPTACIÓN

Caso de Prueba: Administración del Sistema

Opción de Prueba: Perfiles

Número de Caso de Prueba: 03 Número de Historia de Usuario: 01

Nombre de Caso de Prueba: Activar / Desactivar Perfil

Precondiciones: Usuario debe tener permisos de administración de perfiles.

Datos:

Pasos: Una vez iniciada la sesión, dirigirse a la pestaña Administración, se despliega un menú, escoger opción Perfiles; se muestra el índice de la Administración de Perfiles. Al final de cada registro se encuentran dos enlaces, escoger vínculo Activar / Desactivar, se despliega un mensaje de cuadro de decisión para desactivar / activar el perfil seleccionado. Confirmar o cancelar.

Resultado Esperado: Recibir un mensaje de confirmación de Activado/Desactivado exitoso del perfil en la interface principal de Administración de Perfiles, la fila en la tabla principal con el estado del perfil actualizado. Esto significa un almacenamiento exitoso en la base de datos.

Evaluación: Se recibe mensaje de confirmación de actualización exitosa de perfil y los datos se guardan exitosamente.

Tabla 2.47: Prueba de Aceptación – Activar/Desactivar Perfil

Page 86: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

73

PRUEBA DE ACEPTACIÓN

Caso de Prueba: Administración del Sistema

Opción de Prueba: Usuarios

Número de Caso de Prueba: 04 Número de Historia de Usuario: 02

Nombre de Caso de Prueba: Nuevo Usuario

Precondiciones: Usuario debe tener permisos de administración de usuarios.

Datos:

Tipo de documento ENUM(‘C’,O’’)

Identificación Variable Character 15

Nombres Variable Character 255

Apellidos Variable Character 255

Nombre de Usuario Variable Character 100

Perfil Variable Character 120

País Variable Character

Ciudad Variable Character 255

Dirección Variable Character 255

Teléfono Number 15

Celular Number 15

E-mail Variable Character 255

Contraseña MD5(100)

Confirmar Contraseña MD5(100)

Pasos: Una vez iniciada la sesión, dirigirse a la pestaña Administración, se despliega un menú, escoger opción Usuarios; se muestra el índice de la Administración de Usuarios. Ir a la parte superior izquierda y escoger vínculo a Nuevo Usuario, se despliega formulario de ingreso de datos para nuevo usuario. Completar los datos y guardar.

Resultado Esperado: Recibir un mensaje de confirmación de creación exitosa de usuario en la interface principal de Administración de Usuarios, y una nueva fila en la tabla principal con los datos del nuevo usuario. Esto significa un guardado exitoso de datos en la base.

Evaluación: Se recibe mensaje de confirmación y los datos se guardan exitosamente. Tabla 2.48: Prueba de Aceptación – Nuevo Usuario

Page 87: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

74

PRUEBA DE ACEPTACIÓN

Caso de Prueba: Administración del Sistema

Opción de Prueba: Usuarios

Número de Caso de Prueba: 05 Número de Historia de Usuario: 02

Nombre de Caso de Prueba: Actualizar Usuario

Precondiciones: Usuario debe tener permisos de administración de usuarios.

Datos:

Tipo de documento ENUM(‘C’,O’’)

Identificación Variable Character 15

Nombres Variable Character 255

Apellidos Variable Character 255

Nombre de Usuario Variable Character 100

Perfil Variable Character 120

País Variable Character

Ciudad Variable Character 255

Dirección Variable Character 255

Teléfono Number 15

Celular Number 15

E-mail Variable Character 255

Contraseña MD5(100)

Confirmar Contraseña MD5(100)

Pasos: Una vez iniciada la sesión, dirigirse a la pestaña Administración, se despliega un menú, escoger opción Usuarios; se muestra el índice de la Administración de Usuarios. Al final de cada registro se encuentran 2 enlaces, escoger vínculo Actualizar, se despliega formulario de ingreso de datos del usuario seleccionado. Completar los datos y guardar.

Resultado Esperado: Recibir un mensaje de confirmación de actualización exitosa de usuario en la interface principal de Administración de Usuarios, se observa en la fila en la tabla principal los datos actualizados del usuario. Esto significa una actualización exitosa de datos en la base.

Evaluación: Se recibe mensaje de confirmación y los datos se guardan exitosamente. Tabla 2.49: Prueba de Aceptación – Actualizar Usuario

Page 88: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

75

PRUEBA DE ACEPTACIÓN

Caso de Prueba: Administración del Sistema

Opción de Prueba: Usuarios

Número de Caso de Prueba: 06 Número de Historia de Usuario: 02

Nombre de Caso de Prueba: Activar / Desactivar Usuario

Precondiciones: Usuario debe tener permisos de administración de usuarios.

Datos:

Pasos: Una vez iniciada la sesión, dirigirse a la pestaña Administración, se despliega un menú, escoger opción Usuarios; se muestra el índice de la Administración de Usuarios. Al final de cada registro se encuentran 2 enlaces, escoger vínculo Activar / Desactivar, se despliega un mensaje de cuadro de decisión para desactivar / activar el usuario seleccionado. Confirmar o cancelar.

Resultado Esperado: Recibir un mensaje de confirmación de Activado/Desactivado exitoso del perfil en la interface principal de Administración de Usuarios, se observa la fila en la tabla principal con los datos actualizados del usuario. Esto significa una actualización exitosa de datos en la base.

Evaluación: Se recibe mensaje de confirmación y los datos se guardan exitosamente. Tabla 2.50: Prueba de Aceptación – Activar/Desactivar Usuario

Page 89: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

76

3. CAPÍTULO III: CASO DE ESTUDIO

El caso de estudio fue realizado en la Empresa TransferCargo S.A., donde se

implementó el sistema y se utilizó la información proporcionada por esta empresa.

3.1 DESCRIPCIÓN DEL CASO DE ESTUDIO

TransferCargo S.A. es una empresa ecuatoriana de Courier y envíos fundada en

1998, ubicada al Norte de Quito, en el sector de El Inca, en las calles Pablo del

Solar E4-123 e Isla Seymour. Esta empresa tiene como misión "Asesorar a

nuestros clientes de la forma más conveniente, ágil y segura para hacer sus

importaciones desde los Estados Unidos con la finalidad de optimizar los

recursos tanto humanos, económicos y materiales." [49]

La visión de la empresa es "lograr que las barreras de distancia y procesos entre

dos diferentes países sean superados para alcanzar un bien común, así los

ecuatorianos disfrutaremos de los nuevos productos que el mundo nos brinda."

[49]

Actualmente TransferCargo S.A realiza los procesos referentes a gestión de

paquetes manualmente, registrando los datos en hojas de cálculo Excel, con lo

que se corre el riesgo de información duplicada, mal escrita y sin posibilidad de

reportes.

Cuando el paquete pasa de un estado a otro, el personal de Transfer Cargo o el

personal de aduanas envían una lista indicando los códigos de los paquetes que

cambiaron de estado. Los mandos gerenciales corroboran esta información y

registran los nuevos datos en la hoja de cálculo Excel y proceden a distribuir esta

información entre todos los empleados (operadores de call center, personal de

aduana, mandos gerenciales) por medio de correos electrónicos o dispositivos de

almacenamiento USB, lo que dificulta conocer si es que la información recibida es

actualizada y si es que no ha sido alterada o editada en medio de este proceso.

Mediante esta información no necesariamente correcta, los operadores del call

Page 90: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

77

center (servicio al cliente), y la página web informan a los usuarios de la situación

de su paquete, hasta que llega a sus manos.

3.2 IMPLEMENTACIÓN DEL SISTEMA

El sistema será implementado en un computador de Transfer Cargo, que servirá

para crear un ambiente local de pruebas, con las características descritas en la

Tabla 3.1. Dependerá de Transfer Cargo implementar el sistema en el hosting24

definitivo, con sus respectivas credenciales y dominio.

CARACTERÍSTICA DESCRIPCIÓN

Procesador Intel Core i7-4960HQ Processor (6M

Cache, up to 3.80 GHz)

RAM 16 GB

Disco Duro 4 TB

Sistema Operativo Windows Server 2008

Tabla 3.1: Características del Computador para la implementación del Sistema

El computador tuvo previamente instalados y configurados los siguientes

componentes de software:

· Servidor web: Apache 2.2.14

· Lenguaje de programación: PHP 5.3

· Administrador de base de datos: MySQL 5.1

Para implementar el sistema se siguió el siguiente procedimiento:

· Copiar la carpeta que contiene el código fuente de Kohana Framework,

llamado “TRANSFERCARGO” en la ubicación del servidor web. En el caso de

apache, será en la carpeta htdocs/.

· Importar el script en la base de datos ubicado en

../TRANSFERCARGO/db/transfer_db.sql .

24

Web Hosting: es el servicio que provee a los usuarios de Internet un sistema para poder almacenar información, imágenes, vídeo, o cualquier contenido accesible vía web

Page 91: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

78

· En el archivo de configuración ubicado en

../TRANSFERCARGO/aplication/config/database.php se ingresarán las

credenciales de la base de datos creada anteriormente. Este archivo se

muestra en la Figura 3.2:

Figura 3.1: Archivo de Configuración del sistema

· Si todo el procedimiento fue correcto, al ingresar en cualquier navegador e

ingresar a http://localhost/TRANSFERCARGO se obtendrá la pantalla que se

muestra en la Figura 3.3.

Figura 3.2: Llamada al sistema desde un navegador convencional (Mozilla Firefox)

Page 92: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

79

Si es que se requiere acceder al sistema desde otra computadora o dispositivo

desde la misma red, simplemente deberá reemplazar localhost25, por la dirección

ip del servidor o el alias del mismo.

Una vez realizados los pasos anteriores, el sistema comenzó a funcionar y

entregar los resultados esperados. El manual de instalación y técnico detallado se

encuentra en el Anexo IV.

Ya instalado, se ingresaron los datos necesarios para el sistema. Así se ingresó

los perfiles de usuario que se van a utilizar como se muestra en la Figura 3.4.

Figura 3.3: Creación de Perfiles de Usuario

En la Figura 3.4 se visualiza la lista de perfiles creados anteriormente.

25

Localhost: Es la dirección IP de loopback 127.0.0.1 en IPv4, o la dirección ::1 en IPv6. Es utilizado para acceder a aplicaciones web localmente.

Page 93: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

80

Figura 3.4: Perfiles de Usuario

Se ingresaron todos los parámetros necesarios para utilizar la gestión de

movimiento de paquetes. Tales como usuarios, agentes destinatarios,

promociones, sucursales, tipos de carga. Se muestra un ejemplo del ingreso de

un usuario en la Figura 3.5.

Figura 3.5: Creación de Usuario

Page 94: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

81

Se ingresaron clientes reales para efectuar envíos reales y evaluar la facilidad del

sistema, como se muestra en la Figura 3.6.

Figura 3.6: Creación de Clientes

Se realizó el ingreso de paquetes sin ninguna novedad como se muestra en la

Figura 3.7, y además se probó los distintos estados que estos puedan tener como

se muestra en la Figura 3.8.

Figura 3.7: Creación de Paquete

Page 95: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

82

Figura 3.8: Movimiento de Paquete

El manual de usuario del sistema, que posee los pasos anteriores descritos en

detalle, y además de toda la funcionalidad del sistema, se encuentra en el manual

de usuario en el Anexo V.

3.3 ANÁLISIS DE RESULTADOS

Para el análisis de resultados se diseñó una encuesta que fue aplicada a varios

funcionarios de la empresa. El diseño de la encuesta se muestra en la Tabla 3.2 y

los resultados en la Tabla 3.2:

Perfil de Usuario:

1. ¿Cree Ud. que el sistema de gestión web ayuda a brindar un mejor servicio

a sus clientes? Si, No. ¿Por qué?

2. ¿Cree Ud. que el sistema ayuda a optimizar el uso de recursos? ¿De qué

tipo? Si, No. ¿Por qué?

3. De los procesos implementados ¿Cuál ha sido en el que ha observado una

mejora sustancial? Perfiles, Usuarios, Clientes, Paquetes. ¿Por qué?

4. En cuanto al aspecto visual ¿Qué opinión tiene acerca del sistema?

Excelente, Bueno, Malo, Regular ¿Por qué?

5. Desde el punto de vista de usuario ¿Qué dificultades de uso o navegación

encontró en el sistema? Explique

6. ¿Qué recomendaciones haría para mejorar el sistema en los módulos a los

que tiene acceso de acuerdo a su perfil?

Tabla 3.1 Modelo de Encuesta para recolección de datos

Page 96: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

83

Tab

la 3

.2:

Res

ult

ado

s d

e E

ncu

esta

s

Per

fil

de

Usu

ario

P

reg

un

ta 1

P

reg

un

ta 2

P

reg

un

ta 3

P

reg

un

ta 4

P

reg

un

ta 5

P

reg

un

ta 6

Ger

ente

Gen

eral

Sí,

ya q

ue a

utom

atiz

ando

el

proc

eso

perm

ite a

horr

ar ti

empo

y

brin

darle

la in

form

ació

n al

clie

nte

con

rap

idez

.

Sí,

el r

ecur

so p

rimor

dial q

ue

se a

horr

a co

n es

te s

iste

ma

es ti

empo

.

El p

roce

so d

e U

suar

ios,

Clie

ntes

y P

aque

tes

son

los

prin

cipal

es y

mej

ora

n pa

ra

bien

los

proc

esos

de

man

ejo

de in

form

ació

n en

est

os

aspe

ctos

.

Bue

no,

los

colo

res

coor

dinan

con

los

de la

empr

esa,

ser

ía im

port

ante

que

los

reco

rdat

orio

s

teng

an u

n co

lor

más

llam

ativ

o n

ada

más

.

Nin

guna

, el

sis

tem

a

es m

uy in

tuiti

vo y

mue

stra

lo q

ue s

e

nece

sita

par

a

trab

ajar.

Ser

ía r

ecom

enda

ble q

ue e

l

cam

bio

de e

stad

o de

paqu

etes

pue

da s

er m

últip

le

o m

asiv

o. A

dem

ás s

e

vuel

ve in

disp

ensa

ble te

ner

un r

epor

te d

e ob

serv

acio

nes

de c

lient

es

por

cada

oper

ador

que

las

real

izó

.

Ger

ente

Reg

ion

al

Sí,

porq

ue t

odas

las

pers

onas

tiene

n ac

ceso

a la

mis

ma

info

rmac

ión

desd

e cu

alqui

er

part

e

del m

undo

.

Sí,

el t

iem

po

es u

n re

curs

o

impo

rtan

te y

a qu

e se

agi

litan

los

proc

esos

.

Pro

ceso

de

Paq

uete

s y

Clie

ntes

son

el e

je p

rinci

pal

del n

egoc

io.

Exc

elent

e,

lleva

los

mis

mos

colo

res

que

repr

esen

tan

a

la e

mpr

esa

y co

n

tona

lidad

es s

obria

s qu

e

ayud

an a

la in

tuic

ión

del

usua

rio.

Nin

guna

, de

prim

era

man

o se

mue

stra

fáci

l de

usar

y n

o

gene

ra

com

plic

acio

nes.

El c

olor

de lo

s m

ensa

jes

de

valid

ació

n de

berí

a se

r m

ás

fuer

te,

por

ejem

plo e

l roj

o.

Ade

más

que

los

repo

rtes

sean

exp

orta

bles,

ya

sea

a

Exc

el o

PD

F.

Op

. Cal

l

Cen

ter

Sí,

nos

perm

ite a

los

oper

ador

es

guar

dar

info

rmac

ión

cons

iste

nte

grac

ias

a la

s di

stin

tas

valid

acio

nes.

Y a

dem

ás y

a no

hay

vers

ione

s di

stin

tas

de la

info

rmac

ión.

Sí,

el p

rinci

pal

rec

urso

es

tiem

po, p

ero

adic

iona

l

recu

rsos

de

pape

lerí

a qu

e

se u

saba

n pa

ra g

uard

ar

info

rmac

ión

de c

lient

es.

En

el p

roce

so d

e re

gist

ro d

e

clie

ntes

y t

ambi

én

la o

pció

n

pros

pect

os, y

a qu

e fa

cilit

a el

ingr

eso

y m

anej

o de

cad

a

uno

de e

stos

.

Buen

o, lo

s co

lore

s se

empa

reja

n co

n lo

s de

la

empr

esa,

las

alert

as d

eben

lleva

r co

lore

s m

ás fu

erte

s.

Nin

guna

, lo

util

ice

fáci

lment

e.

Nin

guna

Op

erar

io

Ad

uan

a

Sí,

ya q

ue p

erm

ite te

ner

un

cont

rol a

decu

ado

de lo

s en

víos

tant

o vi

sual

com

o en

rep

orte

s

físic

os.

Sí,

tiem

po e

s lo

prin

cipal

ya

que

se ti

ene

la in

form

ació

n

disp

onib

le a

cua

lqui

er

mom

ent

o.

El c

ontr

ol d

e pa

quet

es e

s el

que

más

me

sirve

, pu

esto

que

rev

iso

el a

vanc

e de

los

mis

mos.

Exc

elent

e, s

on lo

s co

lore

s

de la

em

pres

a y

ayud

an a

resa

ltar

lo im

port

ant e

,

com

o tít

ulos

o r

ótul

os.

Nin

guna

.

Ser

ía b

ueno

que

se

pres

ente

en

la li

sta

de

paqu

etes

, que

est

ado

es e

l

sigui

ent

e y

ante

rior

para

cada

paq

uete

.

Page 97: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

84

Después de los resultados obtenidos de la encuesta en la Tabla 3.3 realizada a

dos mandos gerenciales y dos operativos se concluye que el sistema cumple con

los requerimientos iniciales del cliente, y se toma en cuenta los siguientes

cambios y funcionalidades del sistema de acuerdo a las recomendaciones:

· Los recordatorios de la pantalla principal se cambiaron de color celeste a

naranja.

· Los mensajes de validación de datos se cambiaron de color azul a rojo.

· En la lista de paquetes, se agregaron etiquetas indicando su estado

anterior y próximo.

· Se implementó un reporte de observaciones de clientes y prospectos

según operador.

· Se implementó la exportación de reportes a formato Excel o PDF.

· Se implementó la funcionalidad de cambio de estado para múltiples

paquetes.

Page 98: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

85

3.4 CONCLUSIONES

· La metodología XP se adaptó a las características del proyecto, puesto que se

cumplió tanto con tiempos y con las historias de usuario determinadas.

· Se promovió el trabajo en pareja como parte del ciclo de desarrollo de

software, cumpliendo así con uno de los principios fundamentales de la

metodología XP, además de la interacción continua con el cliente para

establecer adecuadamente los requerimientos.

· Los cambios sugeridos durante el desarrollo del sistema fueron adaptados

exitosamente y en poco tiempo, por lo que se comprobó también que la

metodología XP permite un desarrollo incremental basado en pequeñas partes

funcionales, evitando un gran impacto sobre el resto del sistema.

· El Framework utilizado en el proyecto Kohana Framework, facilitó las tareas de

programación e interacción MVC, ya que permitió escalabilidad y facilidad al

crear nuevas funcionalidades.

· Mediante la automatización de los procesos implicados en la gestión de

movimiento de paquetes, se optimizará el uso de recursos de la empresa,

puesto que se disminuye el uso de tiempo tanto para los operadores de call

center, aduana, y por tanto de los clientes, cumpliendo así con los objetivos

del presente proyecto de tesis.

Page 99: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

86

3.5 RECOMENDACIONES

· Es recomendable, incentivar la comunicación como eje transversal del

desarrollo de cualquier proyecto basado en metodología XP, puesto que el

éxito de esta metodología depende de las correctas relaciones entre el equipo

de desarrollo y el cliente.

· Para la implementación del sistema en la red global, se recomienda utilizar un

servidor Hosting dedicado, puesto que es importante que el sistema no

comparta recursos de servidor, ya que esto puede afectar la estabilidad,

velocidad y rendimiento del sistema.

· Es importante en un futuro añadir al sistema funcionalidades para otros

procesos de la empresa, tales como funcionalidades telefónicas mediante

Asterisk, o implementación de etiquetas y lectores RFID (Radio Frequency

Identification) a lo largo de todo el proceso de Courier.

· Para el correcto uso del sistema, se recomienda realizar un taller de

capacitación dirigido a las personas que van a utilizar y administrar el sistema

desarrollado.

· Para garantizar el mantenimiento y escalabilidad del sistema, es importante

conservar la estructura del Framework, además de hacer uso de sus

estándares de programación y codificación cuando se agreguen nuevas

funcionalidades o se hagan cambios al sistema.

Page 100: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

87

BIBLIOGRAFÍA [1] República del Ecuador, Registro Oficial N° 336. Reglamento para la aplicación del impuesto

de Divisas. Ecuador, 2008.

[2] Banco Central del Ecuador, Evolución de las Remesas del Tercer Trimestre de 2012. Ecuador, 2012.

[3] Club Raíz. Raíz Emprendedor. [Online]. http://www.raizemprendedor.com/Definicion-de-Courier-Paqueteria-y-Logistica/81

[4] Jhisela María Cárdenas Navarrete, “CREACIÓN DE UNA EMPRESA DE SERVICIOS COURIER

UBICADA EN LA PARROQUIA ELOY ALFARO DEL CANTÓN QUITO”. Quito, 2012.

[5] Universidad de Belgrano. (2013, Apr.) [Online]. http://www.ub.edu.ar/posgrados/continua/archivos_primer_semestre/Gesti%C3%B3n%20Jur%C3%ADdica %20de%20la%20Empresa.pdf

[6] Coordinación General de Gestión Aduanera, Boletín 259-2009, Dec. 04, 2009.

[7] Zetes. (2010, Octubre) Zetes. [Online]. http://www.zetes.com/en/press-and-events/newsletter/globe7/vision-on-market

[8] República del Ecuador, Registro Oficial N°116. Ley Orgánica de Defensa del Consumidor. Artículo 4. Numeral 4. Quito, Ecuador, 2000.

[9] Aduana del Ecuador. (2012) Aduana del Ecuador. [Online]. http://www.aduana.gob.ec/pro/courier.action

[10] Instituto de Promoción de Exportaciones e Inversiones del Ecuador. (2011) [Online]. http://www.proecuador.gob.ec/servicio-al-exportador/intercoms/

[11] Universidad de Castilla de la Mancha. Metodologías de desarrollo de Software. Documento PDF.

[12] J. Highsmith, "Agile Software Development Ecosystems".: Addison-Wesley, 2002.

[13] Elisa Gallo and Mikel Vergara. European Software Institute. [Online]. http://www.esi.es/Berrikuntza

[14] Universidad Politécnica de Valencia. [Online]. http://noqualityinside.com.ar/nqi/nqifiles/XP_Agil.pdf#page=2&zoom=auto,0,542

[15] Iparbit. [Online]. http://www.iparbit.es/desarrollo_met_Manifiesto.html

[16] Iparbit. [Online]. http://www.iparbit.es/desarrollo_met_Manif_Ppios.html

[17] Extreme Programming Comunity. Extreme Programming. [Online]. www.extremeprogramming.org, c2.com/cgi/wiki?ExtremeProgramming

[18] Ingeniería de Software México. [Online]. http://ingenieriadesoftware.mex.tl/52812_Scrum.html

[19] Crystal Methodologies Blog. [Online]. http://crystalmethodologies.blogspot.com/

[20] Wiki del programador. [Online]. http://developerwiki.egafutura.com/glosario/metodologia-agil-asd-adaptive-software-development

[21] Cyta. [Online]. http://www.cyta.com.ar/ta0502/b_v5n2a1.htm

[22] Wikibooks. [Online]. http://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n/Herramientas_de_desarrollo

[23] Wikipedia. [Online]. http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos

[24] Daniel Pecos. [Online]. http://danielpecos.com/docs/mysql_postgres/x57.html#AEN59

[25] Wikipedia. [Online]. http://es.wikipedia.org/wiki/Framework

Page 101: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

88

[26] Wikipedia. [Online]. http://es.wikipedia.org/wiki/Kohana

[27] Wikipedia. [Online]. http://es.wikipedia.org/wiki/Zend_Framework

[28] Wikipedia. [Online]. http://es.wikipedia.org/wiki/Symfony

[29] Wikipedia. [Online]. http://es.wikipedia.org/wiki/Servidor_web

[30] Apache Software Fundation. Apache Software Fundation. [Online]. http://httpd.apache.org/ABOUT_APACHE.html

[31] Wikipedia. [Online]. http://es.wikipedia.org/wiki/Servidor_HTTP_Apache

[32] Wikipedia. [Online]. http://es.wikipedia.org/wiki/Internet_Information_Services

[33] [Online]. http://casidiablo.net/el-servidor-apache-tomcat/

[34] FDS Herramientas Case. [Online]. http://fds-herramientascase.blogspot.com/

[35] VALAREZO VARGAS Roberto JARRIN ORTIZ María, Desarrollo e Implementación del Sistema de Gestión Académica y Administración vía Web para el Colegio Modelo Politécnico. Quito: EPN, 2010.

[36] Kent BECK and Martin FOWLER, Planning Extreme Programming., 2000.

[37] Samer Hassan. Tarjetas CRC. pdf.

[38] Universidad de Chile. Modelo de Clases. [Online]. http://users.dcc.uchile.cl/~psalinas/uml/modelo.html#clase

[39] SPARX Systems. SPARX Systems. [Online]. http://www.sparxsystems.com.ar/resources/tutorial/uml2_classdiagram.html

[40] KDE. KDE Documentation. Elementos de UML. [Online]. http://docs.kde.org/stable/es/kdesdk/umbrello/uml-elements.html

[41] Universidad de Chile. Tutorial de UML. Modelo de Clases. [Online]. http://users.dcc.uchile.cl/~psalinas/uml/modelo.html

[42] ISO. ISO. [Online]. http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=37031

[43] Sandra Mendoza. (2010, Jan.) TP2-20100-Modulo5. [Online]. http://tp2-20100-modulo5.googlecode.com/svn/trunk/documentos/PrimerEntregable/Primer%20Entregable/Est%c3%a1ndar%20de%20Interfaz%20Gr%c3%a1fica.doc

[44] PHP Fig. PHP Fig Standards. [Online]. https://github.com/php-fig/fig-standards/tree/master/accepted/es

[45] Kohana Framework. Convenciones Kohana Framework. [Online]. http://kohanaframework.org/3.1/guide/kohana/conventions

[46] Kohana Framework. Kohana Framework Models. [Online]. http://kohanaframework.org/3.1/guide/kohana/mvc/models

[47] Kohana Framework. Kohana Framework Controllers. [Online]. http://kohanaframework.org/3.1/guide/kohana/mvc/controllers

[48] Kent Beck, Extreme Programming Explained, Segunda ed. Boston: Addison Wesley, 2004.

[49] TransferCargo S.A. TransferCargo S.A. [Online]. http://www.tc-ecuador.com/index.php?route=information/information&information_id=4

Page 102: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

89

GLOSARIO

Aduana: Oficina pública, establecida generalmente en las costas y fronteras, para

registrar, en el tráfico internacional, los géneros y mercaderías que se importan o

exportan, y cobrar los derechos que adeudan.

Aplicación Informática: Es un tipo de programa informático diseñado como

herramienta para permitir a un usuario realizar uno o diversos tipos de trabajo.

Aplicación Web: Son aquellas Aplicaciones que los usuarios pueden utilizar

accediendo a un servidor web a través de Internet o de una intranet mediante un

navegador. En otras palabras, es una aplicación software que se codifica en un

lenguaje soportado por los navegadores web en la que se confía la ejecución al

navegador.

Carga: Cosa transportada a hombros, a lomo, o en cualquier tipo de vehículo.

Cliente: Aquella persona quien accede a un producto o servicio por medio de una

transacción financiera (dinero) u otro medio de pago. En nuestro caso específico

son todas las personas que envían un paquete o carga mediante el servicio de

transporte.

Contacto: En nuestro caso específico, son aquellas personas que aún no se

convierten en clientes, pero se les ofrece el servicio de envío de carga y

paquetes.

Courier: Es una persona o compañía que envía paquetes o encomiendas con

gran velocidad, seguridad y seguimiento.

Destinatario: Persona a quien va dirigido o destinado algo.

Embarque: Introducir algo en una embarcación, en un avión o en un tren.

Page 103: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

90

Estado de la carga: Es aquel estado del proceso de enviar y recibir, en el que se

encuentra un determinado paquete.

Internet: Es un conjunto descentralizado de redes de comunicación

interconectadas que utilizan la familia de protocolos TCP/IP, garantizando que las

redes físicas heterogéneas que la componen funcionen como una red lógica

única, de alcance mundial.

Kohana: Es un framework para aplicaciones web para PHP5 que implementa el

patrón de Modelo Vista Controlador Jerárquico (HMVC).

Navegador Web: Es una aplicación que opera a través de Internet, interpretando

la información de archivos y sitios web para que podamos ser capaces de leerla,

(ya se encuentre ésta alojada en un servidor dentro de la World Wide Web o en

un servidor local).

Paquete: Conjunto de de cosas de una misma o distinta clase no muy abultado.

PHP: PHP Hypertext Pre Processor es un lenguaje de programación interpretado,

y diseñado originalmente para la creación de páginas web dinámicas.

Proveedor: Se aplica a la persona que provee o abastece a otra persona de lo

necesario o conveniente para un fin determinado.

Remitente: Persona que envía una carta,paquete,etc.,con su nombre y señas en

el remite.

Web: Es un sistema de distribución de información basado en hipertexto o

hipermedios enlazados y accesibles a través de Internet.

Page 104: ESCUELA POLITÉCNICA NACIONALbibdigital.epn.edu.ec/bitstream/15000/7244/1/CD-5392.pdf · 2019-04-07 · A Ti, el alma incondicional e enigmática, palabra precisa, sonrisa amplia

91

ANEXOS

ANEXO I: Código Fuente y Scripts del Sistema (Digital).

CD-ROM: /ANEXOS/Anexo I: Código Fuente/CodigoFuente.zip

ANEXO II: Modelo físico de base de datos del sistema (Digital).

CD-ROM: /ANEXOS/Anexo II/ ModeloFisicoSistema.pdf

ANEXO III: Pruebas de aceptación del sistema (Digital).

CD-ROM: /ANEXOS/Anexo III/ PruebasDeAceptacion.pdf

ANEXO IV: Manual de Instalación del Sistema (Digital).

CD-ROM: /ANEXOS/Anexo IV/ ManualDeInstalacion.pdf

ANEXO V: Manual de Usuario del Sistema (Digital).

CD-ROM: /ANEXOS/Anexo V/ ManualDeUsuario.pdf