TALENTO HUMANO Operaciones
TECNOLÓGICA
Dispone de equipos tecnológicos
necesaria para la implementación del Sistema CRM.
OPERATIVA
El sistema se ejecuta correctamente
después de la instalación.
Cuenta con el personal capacitado
para que el sistema sea utilizado.
Determinación de recursos de la empresa Alarm Works. Elaborado por: Jaime Borja
La empresa cuenta con recursos económicos, la tecnológica y la operatividad necesaria, por lo tanto, se concluyó que es factible la instalación del Sistema de información CRM.
58 DICCIONARIO DE DATOS
Tabla 17
Diccionario dedatos, tabla categoría de productos
Logical Column Name
Physical Column Name
Type PK nullable
pecat_codigo (PK) PECAT_CODIGO CHAR(10) PK not null
Clave primaria de la tabla categoría.
pecat_nombre PECAT_NOMBRE VARCHAR(50) not null
Almacena el nombre de la categoría.
pecat_observ PECAT_OBSERV VARCHAR(50)
Almacena la observación de la categoría.
Tabla: pecat_catego (Physical Name: PECAT_CATEGO), Tabla categoría de producto, almacena información sobre las categorías de todos los productos. Elaborado por: Jaime Borja
Tabla 18
Diccionario de datos, tabla ciudad
Logical Column Name
Physical Column Name
Type PK nullable
peciu_codigo (PK) PECIU_CODIGO CHAR(10) PK not null
Clave primaria de la tabla ciudad.
peciu_nombre PECIU_NOMBRE VARCHAR(50) not null
Almacena el nombre de la ciudad.
peciu_observ PECIU_OBSERV VARCHAR(50)
Almacena la observación de la ciudad.
Tabla: peciu_ciudad (Physical Name: PECIU_CIUDAD), Tabla ciudad, almacena información sobre las diferentes ciudades del país. Elaborado por: Jaime Borja
Tabla 19
Diccionario de datos, tabla tipo de usuario
Logical Column Name
Physical Column Name
Type PK nullable
petip_codigo (PK) PETIP_CODIGO CHAR(10) PK not null
Clave primaria de la tabla tipo de usuario.
petip_nombre PETIP_NOMBRE VARCHAR(50) not null
Almacena el nombre del tipo de usuario.
petip_observ PETIP_OBSERV VARCHAR(50)
Almacena la observación.
Tabla: petip_tipous (Physical Name: PETIP_TIPOUS), Tabla tipo de usuario, almacena información de los tipos de usuarios del sistema. Elaborado por: Jaime Borja
59
Tabla 20
Diccionario de datos, tabla tipo de comprobante Logical Column
Name
Physical Column Name
Type PK nullable
petic_codigo (PK) PETIC_CODIGO CHAR(10) PK not null
Clave primaria de la tabla tipo de comprobante.
petic_nombre PETIC_NOMBRE VARCHAR(50) not null
Almacena el nombre.
petic_observ PETIC_OBSERV VARCHAR(50)
Almacena la observación.
petic_tipoxx PETIC_TIPOXX VARCHAR(7) not null
Almacena el tipo que puede ser egreso e ingreso.
Tabla: petic_tipcom (Physical Name: PETIC_TIPCOM), Tabla tipo de comprobante, almacena información de los tipos de comprobantes de egreso e ingreso. Elaborado por: Jaime Borja
Tabla 21
Diccionario de datos, tabla cotizacion Logical Column
Name
Physical Column Name
Type PK Nullable
pecot_codigo (PK) PECOT_CODIGO CHAR(10) PK not null
Clave primaria de la tabla cotización.
pecot_nombre PECOT_NOMBRE VARCHAR(50) not null
Almacena el detalle de la cotización.
pecot_tipoxx PECOT_TIPOXX VARCHAR(20) not null
Almacena el tipo de cotización.
Tabla: pecot_cotiza (Physical Name: PECOT_COTIZA), Tabla cotización, almacena información sobre las cotizaciones que genere un cliente. Elaborado por: Jaime Borja
Tabla 22
Diccionario de datos, tabla inscripción Logical Column
Name
Physical Column Name
Type PK nullable
peins_codigo (PK) PEINS_CODIGO CHAR(10) PK not null
Clave primaria de la tabla inscripción.
peins_fechax PEINS_FECHAX DATE not null
Almacena la fecha.
peins_valorx PEINS_VALORX FLOAT not null
Almacena el valor.
peins_mesesx PEINS_MESESX TINYINT(4) not null
60
peins_observ PEINS_OBSERV VARCHAR(200)
Almacena el detalle de la inscripción.
peins_estado PEINS_ESTADO VARCHAR(10) not null
Almacena el estado.
pecon_codigo PECON_CODIGO CHAR(10) not null
Clave primaria de la tabla contacto.
petar_codigo PETAR_CODIGO CHAR(10) not null
Clave primaria de la tabla tarifa
Tabla: peins_inscri (Physical Name: PEINS_INSCRI), Tabla inscripción, almacena información de inscripción de clientes para pagos. Elaborado por: Jaime Borja
Tabla 23
Diccionario de datos, tabla Kardex
Logical Column Name
Physical Column Name
Type PK nullable
pekar_codigo (PK) PEKAR_CODIGO int(11) PK not null
Clave primaria de la tabla kardex.
pekar_fechax PEKAR_FECHAX DATE not null
Almacena la fecha.
pekar_horaxx PEKAR_HORAXX TIME not null
Almacena la hora.
pekar_detall PEKAR_DETALL VARCHAR(100) not null
Almacena el detalle del kardex.
pekar_entcan PEKAR_ENTCAN INT(11) not null
Almacena la cantidad de entrada del producto.
pekar_entpre PEKAR_ENTPRE DOUBLE not null
Almacena el precio de entrada del producto.
pekar_enttot PEKAR_ENTTOT DOUBLE not null
Almacena el precio total de la entrada.
pekar_salcan PEKAR_SALCAN INT(11) not null
Almacena la cantidad de salida del producto.
pekar_salpre PEKAR_SALPRE DOUBLE not null
Almacena el precio de salida del producto.
pekar_saltot PEKAR_SALTOT DOUBLE not null
Almacena el total de salida del producto.
pekar_exican PEKAR_EXICAN INT(11) not null
Almacena la cantidad existente.
pekar_exipre PEKAR_EXIPRE DOUBLE not null
Almacena el precio de existencia.
61
Almacena el total de existencia.
pepro_codigo PEPRO_CODIGO CHAR(10) not null
Clave primaria de la tabla producto.
Tabla: pekar_kardex (Physical Name: PEKAR_KARDEX), Tabla kardex, almacena información de inventarios de los productos. Elaborado por: Jaime Borja
Tabla 24
Diccionario de datos, tabla pagos
Logical Column Name
Physical Column Name
Type PK nullable
pepag_codigo (PK) PEPAG_CODIGO INT(10) PK not null
Clave primaria de la tabla pagos.
pepag_valorx PEPAG_VALORX FLOAT not null
Almacena el valor.
pepag_fecven PEPAG_FECVEN DATE not null
Almacena la fecha de vencimiento del pago.
pepag_fecpag PEPAG_FECPAG DATE not null
Almacena la fecha que realiza el pago.
pepag_estado PEPAG_ESTADO VARCHAR(10) not null
Almacena el estado del pago.
pepag_observ PEPAG_OBSERV VARCHAR(100)
Almacena la observación del pago.
peins_codigo PEINS_CODIGO CHAR(10) not null
Clave primaria de la tabla inscripción.
pepag_recaud PEPAG_RECAUD VARCHAR(100) not null
Almacena el usuario que realiza el cobro.
Tabla: pepag_pagosx (Physical Name: PEPAG_PAGOSX), Tabla pagos, almacena información de pagos de los clientes. Elaborado por: Jaime Borja
Tabla 25
Diccionario de datos, tabla tarifa
Logical Column Name
Physical Column Name
Type PK Nullable
petar_codigo(PK) PETAR_CODIGO CHAR(10) PK not null
Clave primaria de la tabla tarifa.
petar_nombre PETAR_NOMBRE VARCHAR(50) not null
Almacena el detalle de la tarifa.
petar_valorx PETAR_VALORX VARCHAR(20) not null
Almacena el valor de la tarifa.
62
Almacena la observación de la tarifa.
Tabla: petar_tarifa (Physical Name: PETAR_TARIFA), Tabla tarifa, almacena información sobre las tarifas. Elaborado por: Jaime Borja
Tabla 26
Diccionario de datos, tabla vinculación Logical Column
Name
Physical Column Name
Type PK Nullable
pevin_codigo (PK) PEVIN_CODIGO CHAR(10) PK not null
Clave primaria de la tabla vinculación.
pepro_codigo PEPRO_CODIGO CHAR(10) not null
Clave primaria de la tabla producto.
pecot_codigo PECOT_CODIGO CHAR(10) not null
Clave primaria de la tabla cotización.
pevin_cantid PEVIN_CANTID INT(11) not null
Almacena la cantidad.
Tabla: pevin_vincul (Physical Name: PEVIN_VINCUL), Tabla vinculación, almacena información para vincular productos que sirve para cotizar. Elaborado por: Jaime Borja
Tabla 27
Diccionario de datos, tabla contacto Logical Column
Name
Physical Column Name
Type PK nullable
pecon_codigo (PK) PECON_CODIGO CHAR(10) PK not null
Clave primaria de la tabla contacto.
pecon_apelli PECON_APELLI VARCHAR(50) not null
Almacena los apellidos.
pecon_nombre PECON_NOMBRE VARCHAR(50) not null
Almacena los nombres.
pecon_rucced PECON_RUCCED CHAR(13) not null
Almacena el ruc o cedula dependiendo el tipo de contacto.
pecon_direcc PECON_DIRECC VARCHAR(100) not null
Almacena la dirección.
pecon_telefo PECON_TELEFO CHAR(10)
Almacena el teléfono.
pecon_observ PECON_OBSERV VARCHAR(150)
Almacena la observación
pecon_estado PECON_ESTADO VARCHAR(10) not null
Almacena el estado
63
Almacena la dirección de correo electrónico.
pecon_clavex PECON_CLAVEX VARCHAR(100) not null
Almacena la clave encriptado
pecon_reccla PECON_RECCLA CHAR(2) not null
Almacena el cambiar clave
peciu_codigo (FK) PECIU_CODIGO CHAR(10) not null
Clave primaria de la tabla ciudad
petip_codigo (FK) PETIP_CODIGO CHAR(10) not null
Clave primaria de la tabla tipo de contacto
Tabla: pecon_contac (Physical Name: PECON_CONTAC), Tabla contacto, almacena información de los clientes, usuarios, empleados, clasificados por un tipo de contacto. Elaborado por: Jaime Borja
Tabla 28
Diccionario de datos, tabla recordatorio Logical Column
Name
Physical Column Name
Type PK nullable
perec_codigo (PK) PEREC_CODIGO CHAR(10) PK not null
Clave primaria de la tabla recordatorio.
perec_fecini PEREC_FECINI DATE not null
Almacena la fecha.
perec_descri PEREC_DESCRI VARCHAR(100) not null
Almacena la descripción.
perec_estado PEREC_ESTADO CHAR(10) not null
Almacena el estado.
pecon_codigo PECON_CODIGO CHAR(10) not null
Clave primaria de la tabla contacto
Tabla: perec_record (Physical Name: PEREC_RECORD), Tabla recordatorio, almacena información de los recordatorios que se deben realizar a los clientes. Elaborado por: Jaime Borja
Tabla 29
Diccionario de datos, tabla parámetros Logical Column
Name
Physical Column Name Type PK nullable
pepar_codigo (PK) PEPAR_CODIGO CHAR(10) PK not null
Clave primaria de la tabla recordatorio.
pepar_ivaxxx PEPAR_IVAXXX INT not null
Almacena la fecha.
Tabla: pepar_parame(Physical Name: PEPAR_PARAME), Tabla parámetros, almacena información parametrizable en el sistema. Elaborado por: Jaime Borja
64
Tabla 30
Diccionario de datos, tabla empresa Logical Column
Name
Physical Column Name
Type PK nullable
peemp_codigo (PK) PEEMP_CODIGO CHAR(10) PK not null
Clave primaria de la tabla recordatorio.
peemp_nombre PEEMP_NOMBRE VARCHAR(60) not null
Almacena la fecha.
peemp_direcc PEEMP_DIRECC VARCHAR(100) not null
Almacena la descripción.
peemp_telefo PEEMP_TELEFO CHAR(10) not null
Almacena el estado.
peemp_correo PEEMP_CORREO VARCHAR(80)
Almacena la dirección de correo electrónico
Tabla: peemp_empres (Physical Name: PEEMP_EMPRES), Tabla empresa, almacena información de la empresa tales como: nombre, dirección, etc. Elaborado por: Jaime Borja
Tabla 31
Diccionario de datos, tabla comprobante Logical Column
Name
Physical Column Name
Type PK nullable
pecie_codigo (PK) PECIE_CODIGO CHAR(10) PK not null
Clave primaria de la tabla recordatorio.
pecie_numero PECIE_NUMERO VARCHAR(11) not null
Almacena la fecha.
pecie_fechax PECIE_FECHAX DATE not null
Almacena la descripción.
pecie_motivo PECIE_MOTIVO VARCHAR(200) not null
Almacena el estado.
pecie_valorx PECIE_VALORX FLOAT(8) not null
Almacena el valor
pecie_estado PECIE_ESTADO VARCHAR(10) not null
Almacena el estado
petic_codigo (FK) PETIC_CODIGO CHAR(10) not null
Clave primaria de la tabla tipo de comprobante
Tabla: pecie_compie (Physical Name: PECIE_COMPIE), Tabla comprobantes, almacena información de los comprobantes de egreso e ingreso. Elaborado por: Jaime Borja
65
Tabla 32
Diccionario de datos, tabla productos Logical Column
Name
Physical Column Name
Type PK nullable
pepro_codigo (PK) PEPRO_CODIGO CHAR(10) PK not null
Clave primaria de la tabla producto.
pepro_descri PEPRO_DESCRI VARCHAR(100) not null
Almacena el nombre de producto.
pepro_imagen PEPRO_IMAGEN VARCHAR(200)
Almacena la ruta donde se subió la imagen de producto.
pepro_stockx PEPRO_STOCKX INT not null
Almacena el stock de producto.
pepro_precom PEPRO_PRECOM FLOAT(8) not null
Almacena el precio de compra.
pepro_preven PEPRO_PREVEN FLOAT(8) not null
Almacena el precio de venta.
pepro_public PECON_OBSERV CHAR(2) not null
Almacena si el producto es publicado en el catálogo
pepro_estado PECON_ESTADO VARCHAR(10) not null
Almacena el estado
pepro_observ PECON_CORREO VARCHAR(200)
Almacena la observación del producto
pecat_codigo (FK) PECAT_CODIGO CHAR(10) not null
Clave primaria de la tabla categoría
Tabla: pepro_produc (Physical Name: PEPRO_PRODUC), Tabla producto, almacena información de los productos de la empresa. Elaborado por: Jaime Borja
Tabla 33
Diccionario de datos, tabla documento transaccional Logical Column
Name
Physical Column Name Type PK nullable
pedoc_codigo (PK) PECON_CODIGO CHAR(10) PK not null
Clave primaria de la tabla documento.
pedoc_fechax PEDOC_FECHAX DATE not null
Almacena la fecha que se creó el documento.
pedoc_subtot PEDOC_SUBTOT FLOAT(8) not null
Almacena el subtotal.
pedoc_caniva PEDOC_CANIVA FLOAT(8) not null
Almacena el IVA.
66
Almacena el total.
pedoc_coment PEDOC_COMENT VARCHAR(150)
Almacena el comentario para cuando se genera un pedido.
pedoc_estado PEDOC_ESTADO VARCHAR(15) not null
Almacena el estado.
pedoc_fechaf PEDOC_FECHAF DATE
Almacena la fecha de factura
pedoc_numfac PEDOC_NUMFAC CHAR(15)
Almacena el número de factura.
pedoc_tipoxx PEDOC_TIPOXX VARCHAR(10) not null
Almacena el tipo de documento transaccional.
pecon_codigo (FK) PECON_CODIGO CHAR(10) not null
Clave primaria de la tabla contacto (comprador) pec_pecon_codigo
(FK)
PEC_PECON_CODIGO CHAR(10) not null
Clave primaria de la tabla contacto (vendedor)
Tabla: pedoc_docume (Physical Name: PEDOC_DOCUME), Tabla documento, almacena información de los documentos transaccionales tales como: pedidos, ventas y compras. Elaborado por: Jaime Borja
Tabla 34
Diccionario de datos, tabla detalle documento transaccional Logical Column
Name
Physical Column Name
Type PK nullable
pedet_codigo (PK) PECON_CODIGO CHAR(10) PK not null
Clave primaria de la tabla documento.
pedet_descri PEDET_DESCRI VARCHAR(100) not null
Almacena la descripción.
pedet_cantid PEDET_CANTID INT not null
Almacena la cantidad.
pedet_precio PEDET_PRECIO FLOAT(8) not null
Almacena el precio.
pedet_totalx PEDET_TOTALX FLOAT(8) not null
Almacena el total.
pedoc_codigo (FK) PEDOC_CODIGO CHAR(10) not null
Clave primaria de la tabla documento
pepro_codigo (FK) PEPRO_CODIGO CHAR(10) not null
Clave primaria de la tabla producto
Tabla: pedet_detall (Physical Name: PEDET_DETALL), Tabla detalle de documento, almacena información sobre los detalles de los documentos transaccionales. Elaborado por: Jaime Borja
67 ANÁLISIS DE RESULTADOS
Pruebas en frio
Se realizó la verificación y depuración de las líneas de código para Servidor de “cConexion.class”, “cValidacion.class “, no presentan errores.
Ilustración 28 Depuración del código cConexion.class. Elaborado por: Jaime Borja
68
Código JavaScript para validar clave fuerte del lado del cliente, la depuración se genera sin errores.
Ilustración 30 Verificación de errores del código JavaScript para validar clave fuerte. Elaborado por: Jaime Borja
Código para el proceso de ventas, la depuración se genera sin errores.
69 Pruebas en caliente
Insertar datos y comprobación de la base de datos, se guarda sin errores y con rapidez.
Ilustración 32 Insertar datos en la tabla `pedoc_docume`. Elaborado por: Jaime Borja
Reporte estadístico de los productos más vendidos, se evidencia que se genera sin errores.
70
Se ejecutó el sistema y se comprobó que se no existe error alguno.
Ilustración 34 Productos agregados al carro de compras. Elaborado por: Jaime Borja
71 ARQUITECTURA
El Sistema de Información Basado en la Relación con los Clientes (CRM), cuenta con una arquitectura Cliente-Servidor, ilustrado en el siguiente esquema:
Ilustración 36 Arquitectura de Conexión del sistema.
(GOMEZ, ALVARO; SUAREZ, CARLOS, 2015)
El Sistema de Información Basado en la Relación con los Clientes (CRM), puede ser ejecutado desde cualquier dispositivo móvil, celular, tablet, ipad, mini laptop y el computador normal, es necesario el acceso a la red y un browser (navegador web) perteneciente a la línea de software libre, el sistema se encuentra potencializado con el navegador Google Chrome y Mozila Firefox, con versiones que soporten HTML5 con la nueva tecnología Responsive Web Design, además se cuenta con un Gestor de Base de Datos MySQL 5.6.20 alojado en el hosting.
Conectividad
Ilustración 37 Modelo de Conexión del sistema. (GOMEZ, ALVARO; SUAREZ, CARLOS, 2015)
72
MySQL se usa como servidor a través del cual pueden conectarse múltiples usuarios en un entorno web y utilizarlo al mismo tiempo, se pondrá en práctica la combinación MySQL con la potencia de PHP.
El sistema de base de datos operacional MySQL es hoy en día uno de los más importantes ya que es conocido por desarrollar una alta velocidad en la búsqueda de datos e información para entornos que trabajan con PHP ya que este lenguaje de programación ofrece una gran gama tanto de funciones como de herramientas las cuales hacen una perfecta combinación con el poderoso sistema de gestión de base de datos antes mencionado y tomando en cuenta las mencionadas herramientas son basadas en software libre.
En el siguiente gráfico se mostrará los detalles de la conexión al servidor para la obtención de información.
Ilustración 38 Detalle de la Conectividad. Elaborado por: Jaime Borja
SEGURIDADES
El un Sistema de Información Basado en la Relación con los Clientes (CRM), en cuanto a seguridades fueron consideradas las 3 capas para nivel de servidor, cliente y base de datos.
Encriptación de Datos. - como sabemos, en un sistema de comunicación de datos, es de vital importancia asegurar que la información viaje segura, manteniendo su autenticidad, integridad, confidencialidad y el no repudio de la misma entre otros aspectos.
Se utilizó la encriptación de datos para almacenas claves y el envío de información por URL.