Sie sind auf Seite 1von 92

INFORME TÉCNICO DEL

PROYECTO DE
RESIDENCIA PROFESIONAL
ALUMNO: Martínez Hernández Miguel Ángel
Paterno Materno Nombre(s)

NÚMERO DE CONTROL: 130I0058

CARRERA: Ingeniería en Sistemas computacionales

EMPRESA: GRUPO MURRIETA SPR DE RL

TEL.: (232) 324 5206

NOMBRE DEL PROYECTO: “Software para control de actividades en huertas y la


gestión de egresos e ingresos para la empresa “GRUPO MURRIETA”.

ASESOR DE LA EMPRESA: L.A.E Yazmín Martínez Córdova, Jefa del área de


administración de huertas

ASESOR: MII. Karen Pamela Álvarez Villagómez

PERIODO DE REALIZACIÓN: 13/Agosto/2018 al 10/Diciembre/2018


ÍNDICE GENERAL

Tabla de contenido
PRESENTACIÓN DEL PROYECTO ............................................................................................ 8
CAPÍTULO I INTRODUCCIÓN AL PROYECTO ........................................................................ 9
1.1 Nombre del proyecto ......................................................................................................... 9
1.2 Información de la empresa .............................................................................................. 9
1.3 Descripción del departamento donde se laboró el proyecto. .............................. 11
1.4 Problemas Detectados .................................................................................................... 11
1.5 Justificación ...................................................................................................................... 12
1.6 Objetivo General ............................................................................................................... 13
1.7 Alcances y Limitaciones ................................................................................................ 14
CAPÍTULO II FUNDAMENTOS TEÓRICOS ............................................................................. 14
2.2.1 Base de datos .................................................................................................................. 16
2.2.1.1 Tipos de bases de datos ........................................................................................... 16
Bases de datos estáticas ........................................................................................... 17
Bases de datos dinámicas] ........................................................................................ 17
Modelos de bases de datos ............................................................................................... 17
Bases de datos jerárquicas ....................................................................................... 17
Bases de datos transaccionales] ............................................................................. 18
Bases de datos relacionales ..................................................................................... 18
Bases de datos multidimensionales] ...................................................................... 18
Bases de datos orientadas a objetos...................................................................... 18
Bases de datos documentales.................................................................................. 19
Bases de datos deductivas........................................................................................ 19
2.2.1.2 Bases de datos relacionales. ................................................................................... 19
Campo ............................................................................................................................. 19
Registro........................................................................................................................... 20
Tabla ................................................................................................................................ 20
Llave primaria................................................................................................................ 20
Llave foránea ................................................................................................................. 20
2.2.1.3 Sistema manejador de bases de datos, diagrama entidad-relación,
normalización, consultas. ...................................................................................................... 21
Sistema manejador de bases de datos................................................................... 21
Lenguaje de manipulación de datos (DML) ........................................................... 21
SELECT ........................................................................................................................... 22
INSERT ............................................................................................................................ 22
UPDATE .......................................................................................................................... 22
DELETE ........................................................................................................................... 22
Lenguaje de definición de datos (DDL) ...................................................................... 22
CREATE TABLE ............................................................................................................ 22
SHOW TABLES ............................................................................................................. 22
DROP TABLE ................................................................................................................. 22
DESCRIBE ...................................................................................................................... 23
TRUNCATE ..................................................................................................................... 23
Lenguaje de control de datos (DCL) ........................................................................... 23
GRANT. ........................................................................................................................... 23
REVOKE .......................................................................................................................... 23
2.2.2 Lenguajes de programación............................................................................................ 25
2.2.3 Lenguajes Web ................................................................................................................... 26
2.2.3.1 Lenguaje HTML ................................................................................................................ 26
2.2.3.2 PHP ..................................................................................................................................... 27
2.2.3.3 JavaScript (JS)................................................................................................................. 27
2.2.3.4 JQuery................................................................................................................................ 28
2.2.3.5 CSS. .................................................................................................................................... 28
2.2.3.6 BOOTSTRAP 4. ................................................................................................................ 29
2.2.3.7 FPDF. .................................................................................................................................. 29
2.2.3.8 XAMPP. .............................................................................................................................. 29
2.2.3.9 MYSQL. .............................................................................................................................. 30
2.3 MODELOS DE ING. DE SOFTWARE ................................................................................. 30
2.3.1 Modelo en cascada ........................................................................................................ 31
2.3.2 Modelo Incremental ....................................................................................................... 31
2.3.3 Modelo en Espiral........................................................................................................... 32
CAPÍTULO III ACTIVIDADES REALIZADAS ........................................................................... 33
3.1.3 DOCUMENTO DE REQUERIMIENTOS........................................................................... 36
3.1.3.3 RESTRICCIONES............................................................................................................. 39
3.2 Fase 2 Planeación ................................................................................................................. 40
3.3 Fase 3 Modelado .................................................................................................................... 45
Fase 4 Construcción ................................................................................................................... 48
CAPÍTULO IV RESULTADOS OBTENIDOS ............................................................................ 60
Fase 5 Despliegue ........................................................................................................................ 60
MÓDULO DE COMPRA VENTA ............................................................................................. 66
MÓDULO DE FACTURACIÓN ................................................................................................ 71
MÓDULO A/B ............................................................................................................................. 75
MÓDULO DE PERSONAL (ACTIVIDADES GENERALES) .............................................. 79
MÓDULO SOBRE NOSOTROS .............................................................................................. 85
CONCLUSIÓN ................................................................................................................................ 86
RECOMENDACIONES ................................................................................................................. 87
COMPETENCIAS DESARROLLADAS / APLICADAS ........................................................... 88
BIBLIOGRAFÍA .............................................................................................................................. 89
ÍNDICE DE TABLAS

Tabla 1 Planeación de actividades para el sistema web ................................................... 42


Tabla 2 Posibles riesgos que puede sufrir el sistema ....................................................... 44
Tabla 3 Nomenclatura tipo de riesgos e impacto. ............................................................... 44
ÍNDICE DE IMÁGENES

Imagen 1 Ubicación de la empresa “GRUPO MURRIETA .................................................. 10


Imagen 2 Representación modelo de cascada..................................................................... 31
Imagen 3 Representación modelo incremental................................................................... 32
Imagen 4 Representación modelo espiral ............................................................................. 33
Imagen 5 Arquitectura cliente-servidor .................................................................................. 40
Imagen 6 Flujo de datos del sistema web.............................................................................. 45
Imagen 7 Diagrama Entidad-Relación Final .......................................................................... 46
Imagen 8 Primer diseño de la página principal .................................................................... 47
Imagen 9 Primer diseño del registro de usuario .................................................................. 48
Imagen 10 Creación de la base de datos “Grupo Murrieta” ............................................. 49
Imagen 11 Creación de la tabla compra-venta con sus respectivos atributos y tipos
de datos .......................................................................................................................................... 50
Imagen 12 Creación de la tabla movimientos ....................................................................... 50
Imagen 13 Creación de la tabla pago ...................................................................................... 50
Imagen 14 Creación de la tabla almacén ............................................................................... 51
Imagen 15 Creación de la tabla historial ................................................................................ 51
Imagen 16 Creación de la tabla huerta ................................................................................... 51
Imagen 17 Creación de la tabla producto ............................................................................. 51
Imagen 18 Creación de la tabla variedad ............................................................................... 52
Imagen 19 Creación de la tabla cargo .................................................................................... 52
Imagen 20 Creación de la tabla persona ................................................................................ 52
Imagen 21 Creación de la tabla empleado ............................................................................. 52
Imagen 22 Creación de la tabla categoría.............................................................................. 52
Imagen 23 Creación de la tabla subcategoría....................................................................... 53
Imagen 24 Creación de la tabla herramienta-segmento .................................................... 53
Imagen 25 Creación de la tabla transporte............................................................................ 53
Imagen 26 Creación de la tabla actividades generales ...................................................... 54
Imagen 27 Conexión entre la base de datos y el sistema ................................................. 55
Imagen 28 Proceso de registro de Usuarios ......................................................................... 56
Imagen 29 Proceso de la autenticación de usuario ............................................................ 57
Imagen 30 Uso de sesiones...................................................................................................... 58
Imagen 31 Error de conexión en la base de datos .............................................................. 59
Imagen 32 Validación de autenticación del sistema ........................................................... 59
Imagen 33 Descarga de XAMPP para Windows versión 7.1.7 .......................................... 60
Imagen 34 Instalador de XAMPP 7.1.7 .................................................................................... 61
Imagen 35 Panel de Control de XAMPP ................................................................................. 61
Imagen 36 Ruta donde se copian los archivos del Sistema Web.................................... 62
Imagen 37 Ruta para acceder al sistema ............................................................................... 62
Imagen 38 Sistema Web de Grupo Murrieta.......................................................................... 63
Imagen 39 Formulario de Registro .......................................................................................... 63
Imagen 40 Mensaje de Usuario Registrado ........................................................................... 64
Imagen 41 Mensaje de Usuario Repetido .............................................................................. 64
Imagen 42 Mensaje de Contraseña Incorrecta ..................................................................... 64
Imagen 43 Panel principal del Sistema Web ......................................................................... 65
Imagen 44 Formulario para cambio de nombre y contraseña.......................................... 66
Imagen 45 Opción de Compra Venta ...................................................................................... 66
Imagen 46 Formato de compra venta ..................................................................................... 67
Imagen 47 Búsqueda del Camión o Camioneta ................................................................... 67
Imagen 48 Campos llenados con el vehículo ....................................................................... 68
Imagen 49 Egresos e Ingresos ................................................................................................. 68
Imagen 50 Formato de compra venta lleno ........................................................................... 68
Imagen 51 Tabla de Registros .................................................................................................. 69
Imagen 52 Formulario de actualización ................................................................................. 69
Imagen 53 Reporte Individual ................................................................................................... 70
Imagen 54 Búsqueda de Reportes ........................................................................................... 70
Imagen 55 Reporte Por Fecha................................................................................................... 71
Imagen 56 Tipos de Facturación .............................................................................................. 72
Imagen 57 Datos de Facturaciones GM.................................................................................. 72
Imagen 58 Ejemplo de Reporte Individual ............................................................................. 73
Imagen 59 Búsqueda de Facturas Especificas .................................................................... 74
Imagen 60 Reporte por búsqueda especifica ....................................................................... 74
Imagen 61 Opciones de la sección A/B .................................................................................. 75
Imagen 62 Formulario y tabla de huertas .............................................................................. 76
Imagen 63 Reporte de Huertas ................................................................................................. 76
Imagen 64 Tabla de Productos de las huertas ..................................................................... 77
Imagen 65 Tabla de Variedades................................................................................................ 77
Imagen 66 Tabla de los cargos de los empleados .............................................................. 78
Imagen 67 Tabla del personal ................................................................................................... 78
Imagen 68 Tabla de Empleados................................................................................................ 78
Imagen 69 Modulo de Actividades Generales con datos insertados ............................. 79
Imagen 70 Búsqueda de Reporte por semana ..................................................................... 80
Imagen 71 Datos mostrados una vez realizada la búsqueda ........................................... 80
Imagen 72 Vista previa del reporte solicitado ...................................................................... 80
Imagen 73 Modulo de almacén ................................................................................................. 81
Imagen 74 Formulario de altas de productos ....................................................................... 81
Imagen 75 Búsqueda de Producto .......................................................................................... 82
Imagen 76 Formulario de operaciones de almacén ............................................................ 82
Imagen 77 Alerta de abastecimiento de productos............................................................. 82
Imagen 78 Búsqueda y visualización del producto buscado. .......................................... 83
Imagen 79 Vista previa del reporte .......................................................................................... 84
Imagen 80 Historia GRUPO MURRIETA ................................................................................. 85
PRESENTACIÓN DEL PROYECTO

El siguiente documento, tiene como objetivo dar una solución específica a un


problema, mediante el desarrollo e implementación de un sistema web. Para poder
llegar al objetivo es necesario tener una buena y adecuada planeación,
investigación, ejecución e implementación.

El problema principal que aborda este documento, es la necesidad que tiene


“GRUPO MURRIETA”, una empresa mexicana dedicada a la comercialización de
diferentes productos agrícolas, enceradoras, básculas. Dicha empresa, presenta un
rezago importante con respecto a la administración, es decir, su control de egresos
e ingresos, inventario, captura de datos, etc.

Es por esto, que una solución es el uso de la tecnología. Es decir, se considera el


desarrollo de un sistema que sea fácil de manejar y que permita más fluidez en su
administración y que al mismo tiempo permita reducir el tiempo de captura de sus
datos.

Mencionando lo anterior, se definió el desarrollo de un proyecto que permitiera


ayudar a las distintas áreas de oportunidad que se mencionaron anteriormente, por
lo cual se estableció el siguiente proyecto a desarrollar siendo un “Sistema de
control y seguimiento en plataforma web que con diferentes procesos sea capaz,
eficaz y fácil de manejar para el personal del área de huertas y ayude en resolver
todos los problemas que se tienen dentro de la empresa “GRUPO MURRIETA” que
mejore el tiempo de atención de reportes de ventas, ingresos y egresos de los
clientes por medio de (HTML5, CSS3, JS, PHP, FRAMEWORKS Y PLUGINS DE
JS).”
CAPÍTULO I INTRODUCCIÓN AL PROYECTO

1.1 Nombre del proyecto

Software para control de actividades en huertas y la gestión de egresos e ingresos


de la empresa “GRUPO MURRIETA” que mejore el tiempo de atención de reportes
de ventas, ingresos y egresos de los clientes por medio de (HTML5, CSS3, JS, PHP,
FRAMEWORKS Y PLUGINS DE JS).

1.2 Información de la empresa

“GRUPO MURRIETA” es una empresa mexicana con más de 25 años de


experiencia, originaria del municipio de Martínez de la Torre, Ver. Sus principales
actividades es la venta y compra de productos agrícolas, enceradoras, básculas,
dispersoras de créditos e inmobiliarias.

Se encuentran comprometidos con la innovación y el desarrollo de nuevos servicios,


se caracterizan por el trabajo, la honestidad y el compromiso como valores
fundamentales, es por eso, que su reto radica en establecer relaciones al exterior
creando así un vínculo de confianza respaldado por su equipo de trabajo y el
cumplimiento ejemplar de todas sus actividades empresariales.

Misión

Ser un grupo empresarial profesional con ética y valores, comercializando cítricos


de primera calidad, buscando el crecimiento paralelo con los clientes para colocarse
como empresa líder en el mercado agrícola mexicano.
Visión

Consolidarse como una empresa líder enfocada en el desarrollo productivo del


sector agrícola, inmobiliario y dispersor de crédito por medio de una administración
eficiente de sus unidades de negocio proporcionando diversidad de productos,
servicios, nuevas tecnologías y soluciones integrales al sector agrícola.

Valores

 Trabajo en Equipo
 Honestidad
 Tenacidad
 Lealtad
 Responsabilidad

Ubicación

Nueva Central de Abasto #15, colonia: Plaza Verde, Martínez de la Torre, Veracruz.

Imagen 1 Ubicación de la empresa “GRUPO MURRIETA


1.3 Descripción del departamento donde se laboró el proyecto.

Es importante mencionar que en el departamento de “Administración de Huertas”


de la empresa “Grupo Murrieta” se encargan de llevar a cabo el control de los
egresos e ingresos que se generan en cada una de sus huertas, también se
encargan de manejar las actividades que realizan los trabajadores que laboran en
cada una de las huertas, así como también cuentan con un almacén donde llevan
el control de cada una de las herramientas que tienen disponible. Este departamento
es operado por 2 personas las cuales se encargan de las diferentes
responsabilidades que lleguen a tener.

Para la elaboración del proyecto se trabajó directamente con la L.A.E Yazmín


Martínez Córdova, quien es la encargada del departamento antes mencionado, y
quien lleva a su cargo la captura de ingresos y egresos, los reportes que se piden
ya sea semanal, quincenal o mensualmente, así como también la contabilidad de
esos reportes, también las diferentes actividades que son asignadas a los
trabajadores para llevar un control de pago por día o por semana.

Así mismo fue la L.A.E Yazmín Martínez Córdova quien nos comentó de las
necesidades que tenía su departamento y quien propuso la creación de un sistema
que ayudará a terminar con dichas necesidades.

1.4 Problemas Detectados

El departamento de administración de huertas del “GRUPO MURRIETA” no cuenta


con algún sistema de seguimiento y control a los formatos que reciben diariamente,
ellos reciben dichos formatos los cuales se llenan manualmente para después ser
capturados en una hoja de Excel y asi generar un reporte para la persona que lo
requiera, es por esto que durante varios años han tenido muchos problemas a la
hora de la captura los cuales se enlistan a continuación.

 Dificultades por parte de la encargada del departamento a la hora de la


captura por ser formatos muy grandes.
 Inexactitudes a la hora de presentar un reporte a la persona que lo requiera
ya que llega a ver confusión con los múltiples datos que manejan.
 No saber con exactitud qué actividades fueron asignadas durante la semana
a los diferentes trabajadores y cuál es la cantidad de dinero que se les tiene
que pagar por semana.
 Confusión a la hora de depurar su hoja de Excel y querer imprimir alguna
información que se requiera inmediatamente por parte de los jefes de la
empresa.
 Errores ortográficos cuando capturan sus datos ya que no ponen cuidado a
la hora de manejar muchos datos.
 No saber con cuantos productos cuenta su almacén ya que no saben en qué
momento ya no tienen existencias.

1.5 Justificación

Hoy en día es muy común que la mayoría de las empresas o negocios cuenten con
algún tipo de sistema informático que les permita almacenar y manejar
correctamente ya sea su información o los diferentes productos que manejan. Esto
llega a traer como consecuencia, tener un buen control, una mejor estabilidad para
sus diferentes sectores tanto económicos como productivos.

Es por eso que el desarrollo e implementación de un sistema web en la empresa


“GRUPO MURRIETA” le permitirá a la empresa primeramente agilizar el proceso de
la captura de datos, así como la presentación de los reportes que se lleguen a pedir
durante el día, ya que el sistema tendría la posibilidad de verificar todos los campos
a la hora de que sean capturados, con lo cual se pondrán realizar búsquedas más
rápidas y de una forma sencilla, así como también el generar los reportes sin
necesidad de depurar todos los datos con los que se cuentan.

Otro punto importante que podría llevar a cabo el sistema, es el control de su


inventario, ya que se tendría actualizado en tiempo real, conforme vayan saliendo
los diferentes productos que piden los empleados. Con esto el sistema, sería capaz
de informarle a la encargada que productos son los que se necesitan abastecer,
automatizando así el proceso de abastecimiento de la empresa.

Finalmente, este sistema web permitirá a la empresa incursionar en el mundo digital,


ya que esto es una parte fundamental actualmente para cualquier negocio o
empresa.

1.6 Objetivo General

Desarrollo de un “SISTEMA DE CONTROL EN EL AREA DE ADMINISTRACION


DE HUERTAS” para la empresa “GRUPO MURRIETA” que mejore el tiempo de
atención de reportes de ventas, ingresos y egresos de los clientes por medio de (HTML5,
CSS3, JS, PHP, FRAMEWORKS Y PLUGINS DE JS).

Objetivos Específicos

 Se analizará la información que se utilizará en el desarrollo del software de la misma


forma se verifica que los requerimientos sean viables para que puedan ser
desarrollados.
 Diseñar la base de datos de una manera correcta y adecuada para que su
funcionamiento sea el más óptimo posible para la empresa.
 Diseñar la interfaz en algún software de imágenes como es Photoshop para tener
una idea de cómo quedaría, y que sea aprobada por la encargada del área por si
llega a ver posibles cambios.
 En la programación se asegurará que sea lo más óptima posible por si llega haber
algún cambio en alguno de los requerimientos que pidió el cliente.
 Detectar y corregir los errores que se lleguen a presentar y tener precauciones para
que no vuelvan a ocurrir.
 Creación de módulos de altas, bajas y cambios de servicios o errores que lleguen
a presentar durante la captura.
 Creación de reportes que permita la visualización de los datos que sean requeridos
1.7 Alcances y Limitaciones

Alcances

El sistema permitirá a la empresa “Grupo Murrieta” realizar lo siguiente:

 Registro, eliminación y modificación de los diferentes módulos con los que se


contará en el sistema.
 Registrar los ingresos y egresos, llevando un control de estos.
 Realizar reportes por intervalos de fechas sin importar el año.
 Contar con cuentas y contraseñas de usuario, para la seguridad del sistema
y de la empresa.
 Realizar búsquedas en tiempo real ya sea por fecha o por nombre.
 Llevar un control de su stock, conociendo el stock actual del mismo y cuando
un producto ya no tenga existencias o estén por acabarse recibir una
notificación para reabastecer dicho producto.

Limitaciones

 El uso del sistema será de manera interna.


 El registro, eliminación y modificación de todos los servicios, empleados,
actividades deberá ser manualmente.
 El sistema será diseñado para usarse en computadora, y no en dispositivos
móviles (Smartphone, tablets, etc.)

CAPÍTULO II FUNDAMENTOS TEÓRICOS


Para poder lograr el desarrollo del sistema propuesto es necesario hacer uso de
diferentes herramientas y conceptos que se definirán a continuación.

Antes de hablar de los diferentes lenguajes que usaremos para la construcción del
sistema para la empresa “GRUPO MURRIETA” es necesario abordar algunos
conceptos que maneja la administración de la empresa con respecto al sistema que
se estará elaborando como son formatos de compra-venta, stock, facturación,
actividades generales y así comprender mejor el funcionamiento que tendrá.

Según la administración el formato de compra-venta es “Un formato el cual se


llena con los datos del comprador y del vendedor de los diferentes productos.”, este
formato es de suma importancia ya que, con él, la empresa captura diferentes
campos para tener un control de lo que se realiza día con día en las diferentes
huertas. Relacionado a este término, se encuentra la facturación lo cual lo definen
como “Un formato que indica una compra o venta de algún producto o servicio”,
para ellos es un requisito indispensable saber a quién se le va a facturar ese
producto o servicio que están haciendo ya que ellos tienen clientes a los cuales le
facturan día con día.

Otro punto muy importante dentro de la empresa es el manejo de su stock en el


cual manejan un concepto muy práctico el cual lo definen como “El producto de
bienes almacenado que poseen ”, y por ultimo nos encontramos con las actividades
generales que la administración define “como las actividades que realiza día a día
cada uno de sus empleados”, esta parte de la empresa es muy importante ya que
aquí llevan un formato de cada actividad que realiza su personal, cuantos días
trabajo a la semana, el salario que se le pagará a cada empleado ya sea por día,
semana o mes, las actividades generales van de la mano con el stock, ya que la
empresa se encarga de prestar a su personal diferentes herramientas para realizar
las actividades que les fueron asignadas.
2.2.1 Base de datos

Una base de datos “es una serie de datos organizados y relacionados entre sí, que
permiten recuperar, clasificar y manipular información, cuentan con un amplio uso
como lo es en los bancos, servicios financieros, sistemas contables de empresas,
controles escolares, etc.” (Damián Pérez, 2015)[1]. Una de las principales
características de las bases de datos es que toman una relevancia muy importante
sin importar si son pequeñas o grandes.

Características

Entre las principales características de los sistemas de base de datos podemos


mencionar (Damián Pérez, 2015) [2]:

 Independencia lógica y física de los datos.


 Redundancia mínima.
 Acceso concurrente por parte de múltiples usuarios.
 Integridad de los datos.
 Consultas complejas optimizadas.
 Seguridad de acceso y auditoría.
 Respaldo y recuperación.
 Acceso a través de lenguajes de programación estándar.

2.2.1.1 Tipos de bases de datos

Las bases de datos “pueden clasificarse de varias maneras, todo depende del
contexto que se esté manejando en el proyecto o bien conocer la utilidad de la
misma” (Tipos de Bases de datos, 2011) [3]. Es por eso que las bases de datos
se clasifican de diferente manera los cuales se explican a continuación, cabe
mencionar que esta información fue consultada en una página de internet que
no tiene autor, es por eso que solo se referenciará con el nombre del título y la
fecha.
 Bases de datos estáticas: “Estas son bases de datos de solo lectura,
utilizadas primordialmente para almacenar datos históricos que
posteriormente se pueden utilizar para estudiar el comportamiento de un
conjunto de datos a través del tiempo, realizar proyecciones y tomar
decisiones.” (Tipos de Bases de datos, 2011) [4]

 Bases de datos dinámicas: “Estas son bases de datos donde la información


almacenada se modifica con el tiempo, permitiendo operaciones como
actualización, borrado y adición de datos, además de las operaciones
fundamentales de consulta. Un ejemplo de esto puede ser la base de datos
utilizada en un sistema de información de un supermercado, una farmacia,
un videoclub o una empresa.” (Tipos de Bases de datos, 2011) [5]

Modelos de bases de datos

Además de la clasificación por la función de las bases de datos, estas también se


pueden clasificar de acuerdo a su modelo de administración de datos. Un modelo
de datos es básicamente una "descripción" de algo conocido como contenedor de
datos (algo en donde se guarda la información), así como de los métodos para
almacenar y recuperar información de esos contenedores. Los modelos de datos no
son cosas físicas: son abstracciones que permiten la implementación de un sistema
eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos
matemáticos. (Tipos de Bases de datos, 2011) [6]

 Bases de datos jerárquicas: “Almacenan su información en una estructura


jerárquica. En este modelo los datos se organizan en una forma similar a un
árbol, en donde un nodo padre de información puede tener varios hijos. son
especialmente útiles en el caso de aplicaciones que manejan un gran
volumen de información y datos muy compartidos permitiendo crear
estructuras estables y de gran rendimiento. Una de las principales
limitaciones de este modelo es su incapacidad de representar eficientemente
la redundancia de datos.” (Tipos de Bases de datos, 2011) [7]

 Bases de datos transaccionales: “Este tipo de bases de datos solo tiene


un fin el cual es el envío y recepción de datos a grandes velocidades, estas
bases son muy poco comunes y están dirigidas por lo general al entorno de
análisis de calidad, datos de producción e industrial. El único fin de este tipo
de bases de datos es recolectar y recuperar los datos a la mayor velocidad
posible, por lo tanto, la redundancia y duplicación de información no es un
problema como con las demás bases de datos.” (Tipos de Bases de datos,
2011) [8]

 Bases de datos relacionales: “Este tipo de bases de datos es el modelo


más utilizado en la actualidad para modelar problemas reales y administrar
datos dinámicamente. La información puede ser recuperada o almacenada
mediante “consultas” que ofrecen una amplia flexibilidad y poder para
administrar la información. El lenguaje más habitual para construir las
consultas a bases de datos relacionales es SQL con sus siglas en ingles que
significa (Lenguaje Estructurado de Consultas), un estándar implementado
por los principales motores o sistemas de gestión de bases de datos
relacionales.” (Tipos de Bases de datos, 2011) [9]

 Bases de datos multidimensionales: “Son utilizadas para desarrollar


aplicaciones más concretas, como son la creación de cubos OLAP, sin
embargo, no se diferencian mucho con las bases de datos relacionales, la
única diferencia seria a nivel conceptual, sin embargo, funcionarían casi de
la misma forma.” (Tipos de Bases de datos, 2011) [10]

 Bases de datos orientadas a objetos: “Son bases de datos que incorporan


todos los conceptos importantes del paradigma de objetos. Encapsulación,
herencia, polimorfismo entre otras. En este modelo los usuarios pueden
definir operaciones sobre los datos como parte de la misma definición de la
base de datos.” (Tipos de Bases de datos, 2011) [11]

 Bases de datos documentales: “Este modelo de base de datos permite


realizar búsquedas más potentes, de lo que permitiría una base de datos
relacional. Generalmente son utilizadas en aplicaciones que tienen grandes
cantidades de datos.” (Tipos de Bases de datos, 2011) [12]

 Bases de datos deductivas: “Es un sistema que se basa principalmente en


reglas y hechos que son almacenados en la misma base de datos. Son mejor
conocidas como bases de datos lógicas, ya que se basan principalmente en
la lógica matemática. Generalmente la información es almacenada con el fin
de poder tomar decisiones.” (Tipos de Bases de datos, 2011) [13]

2.2.1.2 Bases de datos relacionales.

Como se mencionó anteriormente, las bases de datos relacionales son las que
mayormente se utilizan gracias a su flexibilidad y facilidad de utilización. Dentro de
este modelo de bases de datos existen distintos conceptos claves que permitirán
entender de mejor forma el funcionamiento de las mismas.

Al hablar de una base de datos, el primer concepto importante que surge es el de


dato, que se puede definir como “La representación de una variable que puede ser
cuantitativa o cualitativa, indican un valor que se le asigna a las cosas”
(Enciclopedia de conceptos, 2018) [14]. Esta unidad mínima de información tiene
distintos tipos, ya que el conjunto de hechos de los cuales se puede registrar un
dato de distintas índoles.

 Campo: “Es un espacio de almacenamiento que se otorga a un dato cual


sea.” (David Ocaña Martínez, 2012) [15], es decir, se puede entender a el
campo con la definición antes vista del dato. La mayoría de los campos tienen
atributos asociados a ellos.

 Registro: “Es un conjunto de campos que contienen los datos que


pertenecen a una misma repetición de entidad. Se le asigna
automáticamente un número consecutivo (número de registro) que en
ocasiones es usado como índice, aunque lo normal y práctico es asignarle a
cada registro un campo clave para su búsqueda” (David Ocaña Martínez,
2012) [16].

 Tabla: “Es el elemento principal de la base de datos, ya que allí es donde


registra la información que se quiere gestionar. Está compuesta, como si se
tratara de una hoja de cálculo, por filas (registro) y columnas (atributos)”
(David Ocaña Martínez, 2012) [17].

Relacionado al concepto de tabla, vienen las claves. Pero que es una clave en las
bases de datos, son las que nos permiten identificar un conjunto de atributos
suficiente para distinguir las entidades entre sí. “Las claves ayudan a identificar
unívocamente a las relaciones y así a distinguir las relaciones entre sí”.

En las bases de datos existen dos tipos de claves las cuales son:

 Llave primaria: “Es un campo, o una combinación de campos, que


identifican de manera única un registro de una tabla. Éstas no pueden
contener valores nulos, y su valor debe ser único” (Sergio Alejandro Prada,
2010) [18].

 Llave foránea: “Es una columna o grupo de columnas, cuyo valor es igual al
de alguna clave primaria en una tabla específica, una tabla puede contener
más de una llave foránea si esta se relaciona con más de una tabla adicional.
Son parte fundamental ya que crean relaciones entre tablas de base de
datos” (Rady Ferrera, 2010) [19]

2.2.1.3 Sistema manejador de bases de datos, diagrama entidad-relación,


normalización, consultas.

Los puntos que anteriormente se acaban de describir permitirán entender con


facilidad los siguientes y últimos conceptos a tratar sobre las bases de datos.

 Sistema manejador de bases de datos: “Un SGBD (por sus siglas en


inglés) o DBMS es una colección de software muy específico, cuya principal
función es la de servir de interfaz entre la base de datos, el usuario y las
distintas aplicaciones utilizadas. Uno de los objetivos de estos tipos de
software es precisamente el de manejar un conjunto de datos para
convertirlos en información relevante para la organización, ya sea a nivel
operativo o estratégico” (PowerData, 2015) [20]. Este tipo de softwares se
componen de 3 partes esenciales:

 Lenguaje de manipulación de datos (DML): “Es un idioma


proporcionado por los sistemas gestores de bases de datos que
permite a los usuarios de la misma llevar a cabo las tareas de consulta
o modificación de los datos contenidos en las Bases de Datos del
Sistema Gestor de Bases de Datos. El lenguaje de manipulación de
datos más popular hoy día es SQL, y es usado para recuperar y
manipular datos en una base de datos relacional.” (Arturo
Universidad Autónoma de Hidalgo, 2013) [21]

En este tipo de lenguaje destacan 4 principales comandos como lo


describe el autor (Arturo Universidad Autónoma de Hidalgo, 2013)
[22], los comandos son los que se enlistan a continuación:
 SELECT: Permite recuperar información de la base de datos.

 INSERT: Esta sentencia permite agregar uno o más registros a


una (y sólo una) tabla en una base de datos relacional.

 UPDATE: Es utilizada para modificar los valores de un conjunto


de registros existentes en una tabla.

 DELETE: Es utilizada para borrar uno o más registros


existentes en una tabla.

 Lenguaje de definición de datos (DDL): “Es un lenguaje


proporcionado por el sistema de gestión de base de datos que permite
a los usuarios de la misma llevar a cabo las tareas de definición de las
estructuras que almacenarán los datos, así como de los
procedimientos o funciones que permitan consultarlos”. (Arturo
Universidad Autónoma de Hidalgo, 2013) [23]

Los principales comandos en este lenguaje son descritos por el autor


(Universidad Autónoma de Hidalgo, 2013) [24], los cuales se enlistan
a continuación:

 CREATE TABLE: Esta sentencia nos permite crear una nueva


tabla

 SHOW TABLES: Es utilizada para mostrar las diferentes tablas


que cuenta la base de datos.

 DROP TABLE: Permite borrar una o más tablas.


 DESCRIBE: Permite mostrar cómo están estructuradas las
tablas.

 TRUNCATE: Elimina todos los registros de una tabla

 Lenguaje de control de datos (DCL): “Es un lenguaje proporcionado


por el Sistema de Gestión de Base de Datos que incluye una serie de
comandos SQL que permiten al administrador controlar el acceso a
los datos contenidos en la Base de Datos”. (Arturo Curiel Anaya,
2013) [25]

Como lo menciona el autor (Universidad Autónoma de Hidalgo,


2013) [26], este lenguaje se compone de 2 principales comandos los
cuales son:

 GRANT: Permite dar permisos a uno o varios usuarios o roles


para realizar tareas determinadas.

 REVOKE: Permite eliminar permisos que previamente se han


concedido con GRANT.

Para poder crear una base de datos relacional, el SMBD hace uso de un concepto
muy importante, el diagrama entidad-relación. Este diagrama “está basado en
una percepción del mundo real que consta una colección de objetos básicos
llamados entidades y de relaciones entre otros objetos” (Abraham Silberschatz,
2010) [27].
El diagrama está pensado principalmente para el proceso de diseño de la base de
datos y fue desarrollado para facilitar el diseño permitiendo la especificación de un
esquema de la empresa. Tal esquema representa la estructura lógica general de
la base de datos.

Una vez que se tiene el diseño lógico de una base de datos, es necesario que pase
por un proceso de normalización. “La normalización es una técnica eficaz para el
diseño de base de datos que pueden aplicarse tanto en sistemas relacionales como
a otros modelos.” (Abraham Silberschatz, 2010) [28]. El fin principal de esta es
evitar la dependencia entre inserciones, actualizaciones y borrado de elementos de
las tablas de las bases de datos.

La normalización cuenta con tres principales etapas:

 Primera forma normal: “Se hace situando los datos en tablas separadas
de manera que los datos de cada tabla sean de un tipo similar y dando a
cada tabla una llave primaria y un identificador o etiqueta única, lo cual
eliminará los grupos repetidos de datos” (Marcos Sarmiento, 2017) [29].

 Segunda forma normal: “Asegura que cada atributo describe la entidad.


Los registros no deben depender de otra cosa que la clave principal de la
tabla, incluida la clave compuesta si es necesario.” (Marcos Sarmiento,
2017) [30]

 Tercera forma normal: “Comprueba las dependencias transitivas,


eliminando campos que no dependen de la clave principal”. (Marcos
Sarmiento, 2017) [31]

Una vez que se han entendido los conceptos básicos, que se ha logrado entender
el funcionamiento de una base de datos relacional, que se ha realizado un diseño
lógico de la base de datos (diagrama entidad- relación) y que se ha construido ese
diseño lógico en un sistema manejador de base de datos, el último paso que sigue
es realizar consultas.

Una consulta permite recuperar datos de una tabla, modificarlos e incluso almacenar
el resultado en otra tabla. Básicamente, una consulta “es una forma de buscar,
encontrar y mostrar determinada información”.

2.2.2 Lenguajes de programación

Dejando de lado el tema de las bases de datos y sabiendo que estas nos ayudarán
con el almacenamiento de la información, es momento de hablar acerca de los
lenguajes de programación.

Lo primero que se tiene que se tiene que conocer es que es un lenguaje de


programación y los diferentes tipos que existen, los cuales nos permitirán entender
a cómo realizar la construcción de nuestro sistema web para la empresa” GRUPO
MURRIETA”.

Un lenguaje de programación es un “lenguaje diseñado para indicarle a un equipo


el conjunto de acciones consecutivas que debe ejecutar” (Jean-François Pillou,
2013) [32]. Es decir, es un modo práctico para que un ser humano pueda dar
instrucciones a un equipo computadora.
Es importante mencionar y saber desde un punto de vista más técnico, que todas
las computadoras utilizan un lenguaje llamado “lenguaje máquina”. Dicho lenguaje
consiste en instrucciones que llegan al procesador en forma de datos binarios, es
decir, una combinación de unos y ceros.

Por tanto, y cómo es posible notar, este lenguaje máquina no es comprensible para
los seres humanos, motivo por el que se han desarrollado lenguajes intermediarios
(de programación) que permiten comunicar al ser humano con la máquina.
2.2.3 Lenguajes Web

Una vez entendido y comprendido lo importante que es la utilización de un lenguaje


de programación, abordaremos uno de los puntos principales para la construcción
de nuestro sistema web, es decir los lenguajes de programación web, los cuales se
utilizaran para llevar con éxito el desarrollo de nuestro sistema web.

Los lenguajes de este tipo han ido surgiendo según han ido apareciendo distintas
plataformas, intentado siempre facilitar el trabajo de personas que se dedican al
desarrollo de aplicaciones web. Es decir, los datos o los archivos con los que trabaja
la aplicación son procesados y almacenados dentro de la web.

Las ventajas que tienen este tipo de aplicaciones, es que, por lo general, no
necesitan ser instaladas en una computadora. Lo cual lo hace más fácil de
implementar y a su vez se encuentra accesible de forma más rápida. A continuación,
se mencionan los lenguajes web más importantes y de los cuales se harán uso:

2.2.3.1 Lenguaje HTML

También conocido como el lenguaje de marcado de hipertexto. HTML permite


desarrollar páginas web; “se encarga de desarrollar una descripción sobre los
contenidos que aparecen como textos y sobre su estructura, complementando dicho
texto con diversos objetos (como fotografías, animaciones, etc.)” (Julián Pérez
Porto y Ana Gardey, 2008) [33]. Es un lenguaje muy simple y general que sirve para
definir otros lenguajes que tienen que ver con el formato de los documentos. Se debe
hacer hincapié que el lenguaje HTML no es un lenguaje de programación si no un lenguaje
de maquetación el cual ayuda a formar la estructura del sistema web que se desarrollará.

El lenguaje HTML basa su funcionamiento a partir de etiquetas, también llamadas


tags, que permiten interconectar diversos conceptos y formatos. Por otra parte, cabe
destacar que el HTML permite ciertos códigos que se conocen como scripts, los
cuales brindan instrucciones específicas a los navegadores que se encargan de
procesar el lenguaje. Entre los scripts que pueden agregarse, los más conocidos y
utilizados son JavaScript y PHP.

2.2.3.2 PHP

Acrónimo de Hypertext Preprocessor, “es un lenguaje interpretado de alto nivel


embebido en páginas HTML y ejecutado en el servidor” (Christian Van Der Henst,
2001) [34]. Algunas de las aplicaciones de PHP son el procesamiento de información
en formularios, foros de discusión, manipulación de cookies y páginas dinámicas.
PHP permite la creación de páginas dinámicas, dichas páginas son aquellas que
permiten interactuar con el visitante, de modo que cada usuario que visita la página
vea la información modificada para requisitos articulares. Las aplicaciones
dinámicas para el Web son frecuentes en los sitios comerciales, donde el contenido
visualizado se genera de la información alcanzada en una base de datos u otra
fuente externa

2.2.3.3 JavaScript (JS)

Al igual que PHP, JS se utiliza para el desarrollo de páginas web, pero del lado del
cliente, que permite que las páginas sean más dinámicas e interactivas con los
usuarios. “Es un lenguaje con muchas posibilidades utilizado para crear pequeños
programas que luego son insertados en una página web y en programas más
grandes, orientados a objetos mucho más complejos” (Damián Pérez Valdés, 2007)
[35].
JavaScript permite crear diferentes efectos e interactuar con nuestros usuarios. Este
lenguaje posee varias características, entre ellas podemos mencionar que es un
lenguaje basado en acciones que posee menos restricciones.

Además, este lenguaje está centrado en describir objetos, escribir funciones que
respondan a movimientos del mouse, aperturas, utilización de teclas, cargas de
páginas entre otros.

2.2.3.4 JQuery.

Se trata de una biblioteca multiplataforma de JavaScript y no de un lenguaje de


programación web como tal. Fue creada inicialmente por John Resig, y “permite
simplificar la manera de interactuar con los documentos HTML, manipular el árbol
DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica
AJAX a páginas web” (Washington Apolinario,2011) [36]. JQuery, ofrece una serie
de funcionalidades basadas en JavaScript que de otra manera requerirían de mucho
más código, es decir, con las funciones propias de esta biblioteca se logran grandes
resultados en menos tiempo y espacio.

2.2.3.5 CSS.

CSS “Son las siglas de Cascading Style Sheets, y es un lenguaje de hojas de estilos
creado para controlar el aspecto o presentación de los documentos electrónicos
definidos con HTML y XHTML. CSS es la mejor forma de separar los contenidos y
su presentación y es imprescindible para crear páginas web complejas” (Libros
Web, 2010) [37], es decir, describe cómo se va a mostrar un documento en pantalla,
por impresora, por voz o en dispositivos táctiles. Es una especificación desarrollada
por el W3C (World Wide Web Consortium) para permitir la separación de los
contenidos de los documentos escritos en HTML, XML, XHTML, SVG, o XUL de la
presentación del documento con las hojas de estilo, incluyendo elementos tales
como los colores, fondos, márgenes, bordes, tipos de letra etc.
2.2.3.6 BOOTSTRAP 4.

“Bootstrap, es un framework originalmente creado por Twitter, que permite crear


interfaces web con CSS y JavaScript, cuya particularidad es la de adaptar la interfaz
del sitio web al tamaño del dispositivo en que se visualice. Es decir, el sitio web se
adapta automáticamente al tamaño de una PC, una Tablet u otro dispositivo.

Esta técnica de diseño y desarrollo se conoce como “responsive design” o diseño


adaptativo. El beneficio de usar responsive design en un sitio web, es principalmente
que el sitio web se adapta automáticamente al dispositivo desde donde se acceda”
(Johanny Solis, 2014) [38].

2.2.3.7 FPDF.

“FPDF es una clase escrita en PHP que permite generar documentos PDF
directamente desde PHP, es decir, sin usar la biblioteca PDFlib. La F de FPDF
significa Free (gratis y libre): y se puede usar para cualquier propósito y modificarla
a su gusto para satisfacer sus necesidades, como las que se muestran a
continuación.” (FPDF, 2010) [39].

2.2.3.8 XAMPP.

“Es un servidor independiente de plataforma de código libre. Este servidor permite


instalar Apache de una manera rápida y sencilla en los ordenadores personales, sin
importar que tipo de sistema operativo se llegue a manejar. Y es uno de los
principales softwares que se utilizará para probar el sistema web sin necesidad de
tener internet. Este también incluye servidores de MySQL y de phpSQLiteAdmin.”
(Mantenimiento de Computadoras, 2011) [40]
2.2.3.9 MYSQL.

“Es un gestor de bases de datos desarrollado y proporcionado por MySQL AB. Es


un sistema de gestión de bases de datos relacional, multihilo y multiusuario. Se optó
por usar este gestor ya que es de libre distribución, esto quiere decir que nosotros
podemos hacer uso de este gestor prácticamente gratis, además de poder crear
múltiples bases de datos con facilidad y se adapta a diferentes entornos de
desarrollo como es web o escritorio” (Mariano Espinoza Aguirre, 2015) [41].

2.3 MODELOS DE ING. DE SOFTWARE

Como se mencionó anteriormente y teniendo un poco mejor el giro de la empresa,


es de suma importancia hablar acerca de los modelos de Ing. de software los cuales
es el punto más crucial de este capítulo, ya que son estos los que marcaran la
metodología a seguir durante el desarrollo del sistema web.

A continuación, se definirán los modelos más importantes referentes al desarrollo


de software, el cual uno de ellos será de suma importancia ya que será utilizado
como base desde el inicio hasta el fin en el desarrollo del sistema web.
2.3.1 Modelo en cascada

“Considera las actividades fundamentales del proceso especificación, desarrollo,


validación y evolución. Los representa como fases separadas del proceso, tales
como la especificación de requerimientos, el diseño del software, la implementación,
las pruebas, etcétera” (Royce, 1970) [42]. (Ver la imagen 2).

Imagen 2 Representación modelo de cascada


2.3.2 Modelo Incremental

“Combina elementos del modelo en cascada con la filosofía interactiva de


construcción de prototipos. Se basa en la filosofía de construir incrementando las
funcionalidades del programa. Este modelo aplica secuencias lineales de forma
escalonada mientras progresa el tiempo en el calendario. Cada secuencia lineal
produce un incremento del software”. (Marlady Ortiz, 2011) [43]. (Ver imagen 3).
Imagen 3 Representación modelo incremental

2.3.3 Modelo en Espiral

“Es un modelo de proceso de software evolutivo que conjuga la naturaleza


interactiva de la construcción de prototipos con los aspectos controlados y
sistemáticos del modelo en cascada. Cuando se aplica este modelo en espiral, el
software se desarrolla en una serie de entregas evolutivas. Cada una de las
actividades del marco de trabajo representan un segmento de la ruta en espiral.”
(Boehm) [44].
En este modelo haremos especial énfasis, ya que será este, el que guiará de
principio a fin la construcción del sistema web, la elección de este modelo se debe
a que proporciona un enfoque realista para el desarrollo de software y de sistemas
de calidad. Permite además dimensionar los costos de desarrollo, así como también
considera los posibles riesgos que puede haber. Pero principalmente proporciona
el material para el desarrollo rápido de versiones incrementales del software.

Es importante mencionar, que el modelo en espiral se encuentra dividido en distintas


fases o etapas, como se observa en la imagen 4.

Imagen 4 Representación modelo espiral


CAPÍTULO III ACTIVIDADES REALIZADAS

Para el desarrollo de este sistema se optó por el modelo de espiral, la elección de


este dicho modelo se debe a que proporciona un enfoque más realista para el
desarrollo de software y de sistemas de calidad. Además, permite dimensionar de
una mejor forma los costos de desarrollo, así como también considera los posibles
riesgos que puede haber. Pero principalmente proporciona el material necesario
para el desarrollo rápido de versiones incrementales de software.
Es importante mencionar, que el modelo en espiral se encuentra dividido en distintas
fases o etapas, que a continuación describiremos ampliamente.

1ª. Interacción

La interacción 1 se centra principalmente en el análisis de los requerimientos del


sistema, la construcción inicial del mismo y más concretamente en las funciones de
registro, eliminación y visualización de los formatos de compra-venta, de las
actividades generales y de su stock que son las 3 actividades principales que se
manejan dentro de la empresa “GRUPO MURRIETA”.

3.1 Fase 1 Comunicación

El primer contacto que se dio dentro de la empresa fue con la jefa que es la
encargada del departamento de huertas L.A.E Yazmín Martínez Córdova, quien
comentó los problemas que tenía dentro de su departamento.

3.1.1 Problemas.

 Errores en sus formatos de compra-venta a la hora de capturar los


diferentes datos que lo conforman.

 La búsqueda para realizar por fecha sus formatos era muy lenta, ya
que luego había datos que no correspondían con esa fecha
 Desorganización de su stock ya que no sabía cuándo les quedaban
pocas existencias de algunos productos.

 Mal manejo de su personal a la hora de administrar las actividades


que tenía que realizar cada uno de ellos.

Descrito la anterior, la solución que la empresa pretende dar a estos problemas es


el desarrollar un sistema o aplicación (software) que permita solucionar cada uno
de los puntos antes mencionados, y que además permita automatizar todas las
funciones que se realizan manualmente, reduciendo los problemas de pérdida de
tiempo, costos económicos, etc.

Dicho esto, se procedió a analizar cada problema individualmente, para poder así
profundizar más acerca de lo que quiere y tiene la empresa. Para ello se plantearon
las siguientes preguntas para determinar los diferentes requisitos que se fueran a
ocupar:

 ¿Cuál o cuáles son los procesos principales a optimizar en la


empresa?

 ¿Quiénes lo realizan?

 ¿Cuánto tiempo tarda en efectuarlo?

 ¿Cuáles son las personas (usuarios) claves en el sistema?

 ¿Qué áreas necesitan un control específico?


Se empleó como técnica una entrevista al cliente para saber todo sobre lo que se
desea agilizar y crear para satisfacer procesos ineficientes que actualmente aquejan
a la empresa.

Una vez que se realizó el análisis tanto de lo mencionado por la jefa del
departamento de huertas L.A.E Yazmín Martínez Córdova, así como de las
respuestas dadas en el cuestionario, se generó el siguiente documento de
requerimientos, donde se establecen las funciones y restricciones que tendrá
finalmente el sistema web especializado.

3.1.3 DOCUMENTO DE REQUERIMIENTOS

Fecha: 16/10/2018

Responsable: Miguel Ángel Martínez Hernández


3.1.3.1 Introducción

En este documento se encuentra la especificación de los requerimientos completos


del sistema web, así como también de las diferentes restricciones que tendrá dicho
sistema.

Dichos puntos están descritos en términos que el cliente los pueda entender, con la
finalidad de que la comunicación entre los desarrolladores del sistema y el cliente
mismo sea clara y no cree ningún tipo de duda disponible.

3.1.3.2 Requerimientos

Se desea realizar el análisis, diseño, desarrollo e implementación de un sistema


web, que permita el control de los formatos de compra-venta, actividades generales
y manejo de almacén de la empresa “GRUPO MURRIETA”.

El sistema especializado a desarrollar, le permitirá a la empresa realizar lo siguiente:

 Registro, eliminación, modificación y consulta de los diferentes campos que


componen el formato de compra venta.
 Registro, eliminación, modificación y consulta de sus actividades generales
 Registro, eliminación, modificación y consulta de su almacén
 Registro, eliminación, modificación y consulta de sus empleados, salarios,
facturación, transportes de carga, actividades generales, herramientas.
 Realizar búsquedas rápidas y sencillas en tiempo real.
 Contará con un inicio de sesión para cada usuario.
 Contará con un formulario de registro en el sistema, para las personas que
estén encargadas de capturar dichos formatos.
 Contará con alertas en el stock cuando queden pocas existencias
 Validaciones en los campos donde se detectaron los errores
 Campos autocompletables para agilizar más la captura de datos.
 Paginación en cada una de las tablas que se mostrarán.
 Contará con opción de respaldo y restauración de la base de datos.
3.1.3.2.1 Requerimientos específicos

El sistema web, permitirá a la empresa agilizar el proceso de captura de sus


formatos, además dará la posibilidad de almacenar información de sus productos o
servicios, realizar búsquedas en tiempo real, llevar el control de su inventario, contar
con paginaciones para visualizar más detalladamente la cantidad de datos que se
tengan.

3.1.3.2.2 Requerimientos funcionales de proceso o área de negocio

 Se permitirá el registro de usuarios, llenando un formulario donde se


procederá a llenar los campos usuario y contraseña.
 Se podrá consultar los formatos de compra-venta, ya sea por fecha, nombre
de la huerta y variedad del producto que se esté buscando.
 Se permitirá el registro tanto del personal, como de vehículos de carga,
salarios, actividades a realizar, encargados, herramientas.
 Se permitirá el registro de productos llenando igualmente un formulario con
datos obligatorios, los cuales serán fecha, nombre del artículo, unidad,
cantidad y límite.
 Se podrán visualizar todos los formatos de compra venta que hayan sido
capturados a través de una tabla, la cual en la parte de abajo contará con
una paginación para ayudar más al usuario a la hora de buscar dicho formato.

3.1.3.2.3 Requerimientos de interfaz gráfica

La pantalla inicial del sistema contará con un inicio de sesión y por la parte de abajo
una opción que dice “Aún no eres usuario (a). Regístrate Aquí”, ya que este sistema
será un panel de administración, no contará con información de contacto, ni
ubicación, ni tampoco políticas de privacidad.

3.1.3.2.4 Requerimientos de seguridad

El sistema controlará el acceso y le permitirá solamente ingresar a usuarios


registrados. Para los cuales los usuarios deberán ingresar al sistema con un nombre
y password.

En este caso no se definirán tipos de usuarios en el sistema, ya que dentro de la


empresa solamente hay dos personas encargadas de la captura de estas
actividades, los cuales deben de ser “Administradores” ya que contaran con el
control total del sistema, permitiendo así la visualización, modificación y eliminación
de información de los diferentes módulos que tenga el sistema web.

3.1.3.3 RESTRICCIONES

3.1.3.3.1 Restricciones Generales

De primera mano el sistema solo podrá ser utilizado únicamente en el equipo donde
quedará instalado, además dicho sistema no podrá ser ejecutado en dispositivos
móviles o externos al equipo. Se ha determinado también que el sistema, no puede
funcionar de manera distribuida en una arquitectura multinivel, por lo que debe
manejarse en una arquitectura de dos niveles, es decir, una arquitectura cliente-
servidor (ver la imagen 5).

Imagen 5 Arquitectura cliente-servidor

3.2 Fase 2 Planeación

3.2.1 Planeación de actividades

A continuación, en la siguiente tabla se muestra las fechas programadas para la


realización de cada una de las actividades a desarrollar del sistema web (ver tabla
1).

No Actividad Fecha(2018) Descripción


1 Obtención y análisis de requisitos 03 agosto - Conocer más a detalle los
10 agosto formatos que ocupa la
empresa, sus actividades y
su almacén, para que así
satisfaga totalmente las
necesidades de “GRUPO
MURRIETA”
2 Realización del diagrama E-R para la 13 agosto - Realizar el diseño de la
base de datos 20 agosto base de datos que
contendrá las diferentes
tablas para almacenar la
información
3 Creación de la interfaz gráfica de la 21 agosto - Creación del diseño y estilo
página principal 23 agosto que tendrá el sistema web
4 Creación de los formatos con los que 24 agosto – Se crearon de manera
cuenta la empresa de manera estática 28 agosto estática para mostrarle a la
encargada de como
quedarían o si habría algún
cambio.
5 Conexión a la base de datos 29 agosto - Creación de la conexión de
3 septiembre la bases de datos con el
sistema web.
6 Desarrollo del módulo de compra- 4 septiembre Creación de la sección que
venta de manera dinámica - permite llevar el control del
17septiembre formato de compra-venta
de manera dinámica
7 Desarrollo del módulo de facturación 18 Creación de la sección que
septiembre – permitirá llevar el control de
25 la facturación de cada uno
septiembre de los clientes.
8 Desarrollo del módulo A/B 26 Creación de la sección
septiembre – altas, bajas y cambios,
05 octubre donde se permitirá dar de
alta al personal, asignarles
un puesto, un salario, dar
de alta los vehículos y
herramientas, así como
también las huertas con las
que cuenta la empresa.
9 Desarrollo del módulo actividades 8 octubre- Creación de la sección
generales 19 octubre personal, en ella irá
incluida el formato
actividades generales que
maneja la empresa
10 Desarrollo del módulo Almacén 22 octubre – En esta sección se
09 noviembre manejará lo que es el
almacén y un historial de
los diferentes productos
con los que se cuenta.
11 Creación de cuentas de usuario 12 noviembre Creación de permisos de
– administradores con sus
16 noviembre secciones
correspondientes.
12 Creación de módulo sobre nosotros 19 noviembre En esta sección se
– conocerá un poco acerca
20 noviembre de la empresa “GRUPO
MURRIETA”.

Tabla 1 Planeación de actividades para el sistema web

3.2.2 Riesgos
A continuación, en la siguiente tabla se muestra el grado de los posibles riesgos que
pueden llegar a afectar el sistema.

No. Riesgo Tipo Impacto Probabilidad Acciones Acciones


de de preventivas correctivas
riesgo ocurrencia
1 Fallas en el (T) 3 30% Respaldar Generar
sistema constantemente copias de
la información seguridad de
forma
exterior
2 Pérdida de (T) 3 30% Tener archivos Generar
información extra copias de
seguridad
3 Problemas (T) 1 70% Actualizar Desinfectar
con virus permanentemente con antivirus
el virus
4 Tecnología (T) 2 25% Tener otras Actualización
no cumple versiones de constante
con las software del software
expectativas
5 Diseño (T) 2 50% Revisiones Rediseñar el
inadecuado constantes del proyecto
del software cliente
6 Inexperiencia (T) 3 20% Capacitación a Manuales de
en el manejo los miembros del usuario
de las equipo
herramientas
utilizadas
7 Infecciones (E) 3 70% Tener activado el Instalar
en el equipo firewall de antivirus
Windows
8 Fenómenos (E) 3 30% Tener respaldos Colocar
naturales de la información discos o
memorias
donde estén
los archivos
de respaldo.

Tabla 2 Posibles riesgos que puede sufrir el sistema

TIPO DE RIESGOS IMPACTO


(T): Riesgos Técnicos 1) Despreciables
(F): Riesgos Financieros 2) Marginal
(E): Riesgos Empresariales 3) Crítico
(G): Riesgos Corporativos 4) Catastrófico
Tabla 3 Nomenclatura tipo de riesgos e impacto.

3.2.3 Flujo de datos

A continuación, se muestra el flujo de datos que se utilizara para validar a los


administradores en el sistema para la empresa “GRUPO MURRIETA”.

Base de datos

Validación

Función e
interacción
del usuario
con el
sistema
Usuario Estado de sus datos Usuario
(Administrador)

Identificación
Acceso al sistema
web

Imagen 6 Flujo de datos del sistema web

3.3 Fase 3 Modelado

En esta fase se mostrarán las diferentes presentaciones realizadas para el


modelado de la base de datos del sistema web para la empresa “GRUPO
MURRIETA”, se presentará principalmente el diseño de la base de datos, es decir,
tablas, atributos y el diagrama entidad relación, así como también el diseño de la
interfaz principal de dicho sistema.

3.3.1 Modelo entidad-relación

A continuación, se muestran el modelo e-r, que se utilizara para el almacenamiento


de los datos.
Imagen 7 Diagrama Entidad-Relación Final

3.3.2 Interfaces de usuario

Respecto al diseño de la interfaz del usuario, se pensó en una que facilitará la


interacción de los usuarios. El sistema sería capaz de mostrar de forma clara y
sencilla las diferentes acciones que podrían realizar los usuarios una vez que se
hayan logueado y estén dentro del panel de administración, sin que ninguno de
estos procesos sea complejo.

Para esto se creó un diseño inicial de la página principal y de la página de registro


(ver imagen 8,9). En dicho diseño se optó por el color naranja y verde ya que esos
son los colores que se manejan dentro de la empresa como el giro laboral de la
empresa tiene que ver con los cítricos es por eso que optaron por ese color.

Además, se definió que en la parte de en medio quedaría el acceso al sistema y en


la parte superior el logo de “GRUPO MURRIETA”, también se estableció que abría
un formulario para dar de alta a los usuarios que fueran a acceder al sistema.

Imagen 8 Primer diseño de la página principal


Imagen 9 Primer diseño del registro de usuario

Fase 4 Construcción

Para la construcción del sistema web se hizo eso del lenguaje de programación web
PHP, ya que este puede ser desplegado en la mayoría de los servidores web y en
casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP
se encuentra instalado en más de 20 millones de sitios web y en un millón de
servidores.

Además de esto, permite la conexión a diferentes tipos de servidores de bases de


datos tanto como SQL como NoSQL tales como MySQL, PostgreSQL, Oracle,
ODBC, DB2, etc.

PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas


operativos, tales como Unix, Microsoft Windows, y puede interactuar con los
servidores web más populares.

Además de lo antes mencionado, también se hizo uso del lenguaje HTML, el cual
nos permite indicar la estructura de nuestro documento mediante etiquetas. Este
lenguaje nos ofrece una gran adaptabilidad, una estructuración lógica y es fácil de
interpretar tanto por humanos como por máquinas, ya que siguen un esquema de
árbol donde existe un elemento raíz y donde el resto de etiquetas se insertan de
manera lógica y estructurada. Además, se trata de un fichero de texto, y solo se
necesita un editor como el bloc de notas para generar un documento HTML.

Una vez entendido porque el uso de estos dos lenguajes se dará paso a mostrar el
primer diseño del sistema web y además se expondrá la creación de la base de
datos junto con sus tablas, ya que es una parte fundamental del sistema web.
Imagen 10 Creación de la base de datos “Grupo Murrieta”

Una vez creada la base de datos, se dio paso a la construcción de las tablas que
contendría dicha base. A continuación, se muestra el código de las tablas que se
usaron para el sistema web, en el código se podrá observar los diferentes atributos
que tendrán dichas tablas y que se definieron con anterioridad en el diagrama
entidad-relación.

Como primera tabla tenemos una la de “compra-venta” esta es una de las tablas
más importantes ya que con ella esté relacionado la mayoría de los problemas que
tenía el departamento de huertas a la hora de ingresar sus formatos que manejan
ellos (ver imagen 10).
Imagen 11 Creación de la tabla compra-venta con sus respectivos atributos y tipos
de datos

De igual forma se realizó el mismo proceso para la construcción de las demás


tablas, como se muestra a continuación en las siguientes imágenes.

Imagen 12 Creación de la tabla movimientos

Imagen 13 Creación de la tabla pago


Imagen 14 Creación de la tabla almacén

Imagen 15 Creación de la tabla historial

Imagen 16 Creación de la tabla huerta

Imagen 17 Creación de la tabla producto


Imagen 18 Creación de la tabla variedad

Imagen 19 Creación de la tabla cargo

Imagen 20 Creación de la tabla persona

Imagen 21 Creación de la tabla empleado

Imagen 22 Creación de la tabla categoría


Imagen 23 Creación de la tabla subcategoría

Imagen 24 Creación de la tabla herramienta-segmento

Imagen 25 Creación de la tabla transporte


Imagen 26 Creación de la tabla actividades generales
4.1 Codificación y construcción del sistema web

Parte fundamental del sistema web es la conexión entre dicho sistema y la base de
datos antes descrita. A continuación (ver imagen 25) se expone el código necesario
para establecer dicha conexión entre la base de datos y el sistema web.

Para posibilitar lo anterior, se hace uso de código PHP, el cual permite por medio
de la función new mysqli establecer una conexión con una determinada base de
datos. Para lo cual necesita únicamente, la dirección donde se encuentra la base
de datos, en este caso local host, ya que la dicha base es creada de forma local.
Necesita del usuario y contraseña.

Y necesita finalmente el nombre de la base de datos a utilizar, para tal motivo se


hace uso de la base gm_cv.

Dicho código es incrustado en cada una de las páginas del sistema web que
necesitan realizar la conexión a la base de datos.

Imagen 27 Conexión entre la base de datos y el sistema


Una parte fundamental del sistema web es el registro de usuario ya que sin ellos no se
podrá iniciar sesión ni podrán acceder al sistema web, es por eso que dicho código es
descrito a continuación, el cual valida el registro de los usuarios y si llega a ver un usuario
con el mismo nombre o nickname te manda una alerta de que ese “usuario ya está
registrado”.

Imagen 28 Proceso de registro de Usuarios


Otra parte fundamental de este sistema web, es la seguridad que ofrece mediante
el inicio de sesión. Dicho proceso es descrito a continuación en la imagen.

En este fragmento de código podemos observar que el acceso al sistema web se


realiza a través de una consulta a la base de datos. Dicha consulta se realiza a
través de la función mysqli_query de PHP, la cual trae la información de un usuario
dependiendo del username que se proporcione en la interfaz de inicio de sesión.

Una vez que esta consulta trae la información de la tabla usuarios, por medio de un
IF, se valida la contraseña que se da en la interfaz de inicio de sesión con la
contraseña que se tiene registrada en la base de datos. Si estas coinciden se re-
direcciona al usuario a su correspondiente página, es decir, a la interfaz del
administrador. Y en caso de que la contraseña no coincida, se enviará un mensaje
al usuario de “Contraseña Incorrecta”.

Imagen 29 Proceso de la autenticación de usuario


Adicional a lo anterior, y con el objetivo de hacer más seguro el Sistema Web, se
hizo uso de sesiones en PHP. Lo cual permite identificar qué tipo de usuario entra
al sistema y así desplegar sus correspondientes funciones. Además, el uso de esta
función protege al Sistema de ser accedido de forma incorrecta, ya que, si no se
pasa por el flujo normal de inicio de sesión, estas “sesiones” obligaran a hacerlo.

En el código de la imagen, se puede observar cómo se hace una validación con


ayuda de un IF, de si existe o no una sesión creada. En caso de que exista una
sesión anteriormente, la destruye y te redirecciona a la página principal, lo cual evita
que cualquier usuario pueda acceder directamente a una página sin iniciar sesión.

Imagen 30 Uso de sesiones

Una vez que el usuario ingresa se encontrará con un panel de administración que
se mostrará en el capítulo que se llama “Resultado Obtenidos” ya que los códigos
son muy extensos es imposible que se ven adecuadamente en una imagen, es por
eso que no se pondrán más imágenes de los códigos, sino hasta que el software
esté en funcionamiento.

4.1.2 Pruebas
Una vez que se realizó la construcción del sistema web se realizaron diferentes
pruebas para validar el correcto funcionamiento del sistema.

 La primera prueba realizada, fue la validación de la conexión entre el sistema


y la base de datos. Al validarse, se presentó el error de la imagen 28 en
algunas páginas, esto se debe a que se había escrito de forma errónea el
nombre de la base de datos.
 La solución implementada para este error, fue la creación de un único archivo
de conexión, que utilizarán todas las páginas. Esto nos permitiría una
validación más rápida, ya que solo se verificaría un único archivo y no el
código de todas las páginas. Y además permitiría aislar el error.

Imagen 31 Error de conexión en la base de datos

 Se realizó la prueba del inicio de sesión, para corroborar que en caso de que
el usuario no existiera o bien que proporcionara mal la contraseña, no se le
permitiera el paso al resto del sistema web y se visualizará el mensaje
correspondiente. Cómo se muestra en la imagen 29, el sistema realizaba de
forma correcta la validación de usuarios y contraseñas.

Imagen 32 Validación de autenticación del sistema


CAPÍTULO IV RESULTADOS OBTENIDOS

Fase 5 Despliegue

5.1 Entrega del Sistema

Para el despliegue del sistema dentro de la empresa “GRUPO MURRIETA” se hizo


uso del equipo de cómputo que dispuso la empresa desde un principio donde iba a
quedar alojado el sistema web.

Para su correcto funcionamiento se instaló en dicho equipo el software XAMPP,


como se mencionó anteriormente permitirá la visualización del sistema y la creación
de la base de datos.

Como se muestra en la siguiente imagen se descargó la versión 7.1.7 para el


sistema operativo Windows.

Imagen 33 Descarga de XAMPP para Windows versión 7.1.7


Una vez que se realizó la descarga del software, se dio doble clic en el instalador
de XAMPP para que fuera instalado en el equipo de cómputo (ver imagen 34).

Imagen 34 Instalador de XAMPP 7.1.7

Una vez que se instaló correctamente el software de XAMPP 7.1.7, apareció el


panel de control del mismo (imagen 35), para lo cual solo inició los servicios de
APACHE y MySQL.

Imagen 35 Panel de Control de XAMPP


Ya que se encontraron iniciados los servicios antes mencionados, se dio paso a
copiar los archivos con los códigos creados en la ruta C:/XAMPP/htdocs/ dentro de
la carpeta registros, como se muestra en la imagen 36.

Imagen 36 Ruta donde se copian los archivos del Sistema Web

Finalmente, para validar el funcionamiento del sistema, se abrió un navegador web,


y se escribió la ruta localhost/registros/ en la barra de navegación (ver imagen 37).

Imagen 37 Ruta para acceder al sistema

E inmediatamente nos direcciona a nuestro sistema web (ver imagen 38), el cual se
muestra con otro tipo de fondo ya que se optó junto con la encargada del proyecto
de cambiarlo ya que los colores que tenía lastimaban la vista y el resultado final fue
el siguiente.
Imagen 38 Sistema Web de Grupo Murrieta

Para tener acceso al sistema es necesario estar dado de alta, ya que si no se tiene
un usuario y una contraseña este jamás podrá ingresar al sistema web, es por eso
que se optó por poner un registro de usuario para que la encargada del
departamento en este caso la L.A.E Yazmín Martínez Córdova sea la que registre
a los diferentes empleados que usaran el sistema web. (Ver imagen 39).

Imagen 39 Formulario de Registro


Una vez que se registró un empleado con su nombre de usuario y contraseña le
mandará una alerta con el mensaje “Usuario Registrado” (ver imagen 40), por lo
contrario, si alguien se registra con un nombre similar el sistema mandará una alerta
con el mensaje “Este usuario ya existe” (ver imagen 41), y no le permitirá registrarte
hasta que cambie su nombre o agregue una letra o algún numero diferente, si las
contraseñas no llegan a ser similares mandará un mensaje de “Las contraseñas no
son iguales” (ver imagen 42), el cual tampoco dejará registrarse al sistema hasta
que coinciden las contraseñas.

Imagen 40 Mensaje de Usuario Registrado

Imagen 41 Mensaje de Usuario Repetido

Imagen 42 Mensaje de Contraseña Incorrecta


Una vez que el usuario se registró correctamente y no le apareció ningún mensaje
de que tenía algún campo equivocado, podrá iniciar sesión para acceder el sistema
y lo re-direccionará a la pantalla principal del sistema web, ya que el sistema no
cuenta con jerarquías de usuarios, toda persona que registra la encargada del
proyecto verá el mismo panel que los demás, como se muestra a continuación en
la imagen 43.

Imagen 43 Panel principal del Sistema Web

En la pantalla principal también se cuenta con una pestaña de ajustes donde el


usuario que esta logueado puede cambiar su contraseña, o el nombre de usuario si
así lo desea, también puede respaldar la base de datos o restaurarla, así como
también finalizar su inicio de sesión como se muestra en la imagen 44.

Imagen 44 Formulario para cambio de nombre y contraseña

MÓDULO DE COMPRA VENTA

Al dar clic sobre alguna de las flechas que se muestra en el panel, este desplegará
las opciones con las que cuenta el sistema, una de las principales opciones con las
que se trabajó desde que inicio el proyecto fue con la opción de “Compra Venta”, la
cual cuenta con las opciones “Compra Venta” y “Compra Venta Limón”, ya que la
empresa no solo trabaja con lo que es la naranja, la toronja, la mandarina si no
también con el limón, es por eso que se optó por dividir en dos formatos diferentes
dicha opción como se muestra a continuación en la imagen 45.

Imagen 45 Opción de Compra Venta


Una vez que el usuario seleccionó cualquiera de las opciones observará un formato
como el que se muestra en la imagen 46.

Imagen 46 Formato de compra venta

Este formato cuenta con diferentes campos, pero hay que hacer énfasis en los
campos de camión, marca, color y placas, el cual cuenta con una función que
permite traer automáticamente el nombre del camión o camioneta, también se
cuenta con una función para sacar los egresos e ingresos que se tuvieron en ese
reporte, así como también se puede seleccionar el tipo de producto con el que se
trabajó y la variedad. Cuenta con una opción para seleccionar a quien se le facturó
y seleccionar el movimiento y el pago que se hizo.

A continuación, se muestra en la imagen 47 como es la función de búsqueda de


algún camión o camioneta para que el llenado del formato sea más rápido y no se
pierda demasiado tiempo.

Imagen 47 Búsqueda del Camión o Camioneta


En cuanto se encuentra el vehículo deseado lo único que se tiene que hacer es
seleccionar y automáticamente aparecerán los datos en los diferentes inputs
incluyendo las placas de dicho vehículo.

Imagen 48 Campos llenados con el vehículo

Para poder sacar los ingresos y egresos es necesario llenar los campos
correspondientes como se muestra en la imagen 49.

Imagen 49 Egresos e Ingresos

Una vez que se terminó por llenar todo el formato como se muestra en la imagen 50
lo único que hay que hacer es presionar en el botón de guardar y a continuación lo
podremos visualizar en la parte de abajo los diferentes registros que se han hecho,
como se muestra en la imagen 51.

Imagen 50 Formato de compra venta lleno


Imagen 51 Tabla de Registros

Como se puede observar en la imagen de arriba, tenemos unas opciones extra


como lo son editar, eliminar o si se quieres imprimir algún formato individual de esa
fecha, en caso de querer actualizar los campos por si hubo algún error, nos mostrará
el siguiente formulario con los campos llenos.

Imagen 52 Formulario de actualización

Una vez que se editaron los campos requeridos lo único que se tiene que hacer es
darle en la opción de guardar y nos mostrará en la tabla los campos ya actualizados.

Para poder imprimir un reporte individual solo se tienen que ir a la opción de imprimir
y a continuación aparecerá el siguiente formato pdf el cual traerá los datos que se
muestran cuando se llenan los datos del formulario ver imagen 53.
Imagen 53 Reporte Individual

Si se requiere algún reporte ya sea por fecha, producto, variedad o huerta sólo es
necesario llenar los siguientes campos con los datos que se requieren como se
muestra en la imagen 54.

Imagen 54 Búsqueda de Reportes


Cuando se terminó por llenar los campos requeridos para tener un reporte más
específico se mostrará como en la imagen 55.

Imagen 55 Reporte Por Fecha

Como se muestra en la imagen de arriba podemos observar que este reporte nos
trae todos los datos que hemos puesto una vez que se llenó solamente los campos
de fecha, ya que como son diferentes huertas, no se muestra el producto en
específico. Este reporte incluye una opción adicional que es la de totales a diferencia
del reporte individual. No se mostrará el formato de compra venta de limón ya que
es similar al formato mencionado en la parte de arriba, se optó con la encargada del
proyecto que se pusiera esta opción para que no hubiera alguna confusión con el
tipo de producto.

MÓDULO DE FACTURACIÓN

Una vez explicado el formato de compra venta, se creó el módulo de facturación


como se muestra en la imagen 56, también está dividido en dos partes lo que es
facturación y facturación de limón.
Imagen 56 Tipos de Facturación

En este módulo los datos se guardan automáticamente una vez que se han
completado todos los campos en el formato de compra venta, al igual que el modulo
anterior, hay opciones para editar, eliminar e imprimir reportes individuales, también
se visualizan los datos en una tabla, como se muestra a continuación.

Imagen 57 Datos de Facturaciones GM

A continuación, se muestra un reporte individual de una facturación.


Imagen 58 Ejemplo de Reporte Individual

En este módulo también se pueden hacer búsquedas más específicas para tener
reportes más grandes, ya sea por fecha o por nombre de la persona a quien se
facturó por número de folio como se muestra en la siguiente imagen.
Imagen 59 Búsqueda de Facturas Especificas

Una vez que se hizo la búsqueda, saldrá el siguiente formato en pdf con los datos
que requiere el usuario. Imagen 60.

Imagen 60 Reporte por búsqueda especifica


MÓDULO A/B

Este módulo es uno de los más importantes ya que en él se darán de alta las
actividades que realizan dentro de la empresa, así como también llevar un control
de sus empleados, de sus huertas, vehículos, salarios, herramientas, cargos, como
se puede observar en la siguiente imagen.

Imagen 61 Opciones de la sección A/B

Como primera opción se muestra la sección de huertas, en esta sección lo que la


empresa necesitaba era llevar un control de todas las huertas con las que disponen
es por eso que se creó un formulario para guardar sus huertas, y saber cuántas
hectáreas se tienen por cada huerta y así poder tener un reporte general.

A continuación, se muestra el formulario y la tabla donde se muestran las huertas


ya insertadas y con sus opciones de editar, eliminar. En esta sección no se permitirá
la impresión de reportes individuales ya que se optó junto con la encargada del
proyecto de que no era necesario dicho reporte.
Imagen 62 Formulario y tabla de huertas

Una vez que se insertaron todas las huertas, se puede imprimir un reporte general
con todas las huertas que maneja la empresa, como se muestra a continuación en
la siguiente imagen.

Imagen 63 Reporte de Huertas


Seguido de esta opción se pasó a realizar la opción de productos y variedades
donde se muestran los diferentes productos con los que cuenta las huertas de la
empresa, así como las variedades de cada uno de esos productos como se
muestran en las siguientes imágenes.

Imagen 64 Tabla de Productos de las huertas

Imagen 65 Tabla de Variedades

Se crearon las opciones de cargo y persona para poder llevar un mejor control del
personal con el que cuenta la empresa y su cargo al que pertenecen como se
muestra en las siguientes imágenes.
Imagen 66 Tabla de los cargos de los empleados

Imagen 67 Tabla del personal

La principal función de la opción de empleados es la de llevar a cabo el registro de


donde será asignado el personal, así como también saber en qué huerta está
trabajando, y cuál es el puesto que ocupa dentro de esta, como también saber cuál
es su salario asignado, al igual como se mencionó en el primer módulo de compra
venta, esta sección cuenta con una función de autocompletado para que sea más
fácil a la hora de llenar el formulario.

Imagen 68 Tabla de Empleados


MÓDULO DE PERSONAL (ACTIVIDADES GENERALES)

Este módulo es uno de los más importantes para la empresa “GRUPO MURRIETA”
ya que en él están todos los datos que se dieron de alta en el módulo A/B, en este
módulo la empresa lleva un control de todos sus empleados, las actividades que
realizan por día y cuanto se le tiene que pagar a la semana a cada uno de ellos, así
como también llevan un control del área donde les toco trabajar, cuantos días
trabajaron y que tipo de actividades realizaron, como se muestra en la imagen 69,
donde se puede observar un pequeño formulario el cual llenan y automáticamente
pueden visualizar los datos previamente registrados, al igual que la mayoría de los
otros módulos que se han descrito en este proyecto, este módulo también cuenta
con las opciones de búsquedas por fecha y persona para realizar reportes más
completos y de igual manera cuenta con sus opciones de actualizar y eliminar a los
empleados que ya no estén laborando dentro de la empresa.

Imagen 69 Modulo de Actividades Generales con datos insertados


En la siguiente imagen se muestra una búsqueda de cómo se tienen que poner los
datos para realizar una búsqueda por semana.

Imagen 70 Búsqueda de Reporte por semana

Una vez realizada la búsqueda nos aparecerá nuestra tabla con los datos mostrados
y se podrá visualizar el reporte que se ha requerido como se muestra en la imagen
71 y 72 la vista previa del reporte.

Imagen 71 Datos mostrados una vez realizada la búsqueda

Imagen 72 Vista previa del reporte solicitado


MÓDULO DE ALMACEN

Otro de los principales problemas con los que contaba la empresa es con su
almacén ya que no sabían cuentas piezas o herramientas tenían en existencia es
por eso que se creó un módulo especial para llevar un mejor control, además cuenta
con una opción de historial donde se pueden hacer búsquedas de las herramientas
e imprimir reportes específicos por fecha si es que así lo desean. Ver imagen 73.

Imagen 73 Modulo de almacén

Para poder de alta los productos es necesario llenar como primer paso un formulario
en donde tendrán los campos fecha, nombre del producto, las unidades ya sean
piezas, kilogramos, gramos, etc., además se podrá ingresar la cantidad que se
compró y un límite, ya que cuando se estén acabando las existencias el sistema
automáticamente mandará una alerta de cuantos productos necesitan
reabastecerse.

Imagen 74 Formulario de altas de productos

En la siguiente imagen se muestra como se realiza la búsqueda del producto y como


se visualiza dicha búsqueda, además los productos también tienen sus opciones de
editar y eliminar por si llega haber algún error.
Imagen 75 Búsqueda de Producto

Para poder realizar alguna operación de entrada y salida es necesario llenar el


siguiente formulario, el cual cuenta con una función como los demás módulos antes
descritos, esta función sirve como un autocompletado para que la captura de los
datos sea más rápida.

Imagen 76 Formulario de operaciones de almacén

Una vez que se realizó una operación en este ejemplo se realizó la operación de
salida que es donde nos arrojará la alerta una vez que no tengamos suficientes
piezas en el almacén, como se muestra en la siguiente imagen 77 vemos que el
sistema arroja automáticamente una alerta en color rojo.

Imagen 77 Alerta de abastecimiento de productos


Después de haber dado de alta todos los artículos, tenemos la opción de historial,
en esta opción nos permitirá buscar los productos por fecha y por nombre para
poder visualizar las operaciones que se realizaron y poder generar un reporte de
dicho producto buscado.

Imagen 78 Búsqueda y visualización del producto buscado.


Imagen 79 Vista previa del reporte
MÓDULO SOBRE NOSOTROS

Para finalizar los módulos del sistema web se platicó con la encargada del proyecto
para poder agregar una opción acerca de la empresa para la que se realizó todo el
sistema web, el cual nada más nos permitieron incluir su historia como se puede ver
en la siguiente imagen.

Imagen 80 Historia GRUPO MURRIETA


CONCLUSIÓN

Una vez desarrollado el sistema web para la empresa “GRUPO MURRIETA” se


obtuvieron los siguientes resultados:

 Mejorar el tiempo a la hora de capturar los datos y tener un mejor control de


los reportes requeridos por los jefes de la empresa.

 Ayudar a mejorar el tiempo de consulta de los datos que sean requeridos.

 Control de la información, ya que antes tenían que acceder a las hojas de


Excel y buscar ente muchos datos, ahora la información la consultan más
rápida y con diferentes filtros para tenerla en el menor tiempo posible.

 Manejo de usuarios para llevar un mejor control de los empleados que utilizan
el sistema.

 Ayudar a mejorar el control de su almacén.

 Traer datos automáticos, sin necesidad de tener que llenar muchos campos,
esto ayuda a la empresa a desperdiciar menos tiempo a la hora de capturar
los datos de sus formatos.

 Manejar reportes con sólo hacer una búsqueda de lo que se necesita.

 Manejar validaciones en algunos campos específicos para que se tenga un


mejor control a la hora de ingresar los datos.

 Alertas automáticas por si existe algún error de captura o lleguen a ingresar


un mismo registro más de una vez.
Por otra parte, dicho sistema, le otorgará un valor adicional a la empresa, ya que
estaría haciendo uso de la tecnología, tal y como lo hacen la mayoría de las
empresas hoy en día.

Respecto a los objetivos planteados al inicio del proyecto, el sistema web cumple
con cada uno de ellos; ya que después de las validaciones realizadas, se puede
concluir que el sistema web trabaja de una manera rápida y sencilla y sin perder
mucho el tiempo por los errores que se tenían en el pasado.

RECOMENDACIONES

Por parte mía como desarrollador, le recomiendo a la empresa la inversión en más


tecnología, como lo es un servidor, para que el sistema pueda estar alojado en él y
lo pueden manipular tantos los empleados como los jefes de la empresa, ya que
esto ayudaría a la empresa a tener un mejor control de todo el sistema, también se
le recomienda que en un futuro, el sistema pueda ser desarrollado para dispositivos
móviles y este alojado en un host en internet para así poder checar la información
que se necesite en cualquier momento.

Finalmente, se le recomienda que tengan fechas establecidas de respaldo de la


base de datos, por si llega a ocurrir algún percance con algún equipo de cómputo y
así evitar que se pierda toda la información del sistema web.
COMPETENCIAS DESARROLLADAS / APLICADAS

Competencias genéricas

 Capacidad de abstracción análisis y síntesis.


 Capacidad de aplicar los conocimientos en la práctica.
 Capacidad de investigación.
 Capacidad para trabajar en equipo.
 Capacidad crítica y autocrítica.
 Capacidad de organizar y planificar.
 Capacidad de aplicar los conocimientos en la práctica.
 Capacidad de aprender.
 Habilidad para trabajar en forma autónoma.
 Solución de problemas.
 Toma de decisiones.
BIBLIOGRAFÍA

 Damián Pérez Valdés. (2007), ¿Que son las bases de datos? Recuperado el
29 de Octubre de 2018, Sitio web: http://www.maestrosdelweb.com/que-son-
las-bases-de-datos/. [1], [2]

 Bases de datos. (2011). Tipos de bases de datos. Recuperado el 29 de


Octubre de 2018, del Sitio web: http://basededatos.over-blog.net/article-
[3], [4], [5], [6], [7], [8], [9], [10], [11], [12],
tipos-de-bases-de-datos-68319538.html.
[13]

 Enciclopedia de Conceptos (2018). "Dato". Recuperado el 29 de Octubre de 2018


del Sitio web: https://concepto.de/dato/ [14]

 David Ocaña Martínez. (2012). Estructura de datos. Recuperado el 29 de


Octubre de 2018, del Sitio web: http://estructura-davomtz92.blogspot.com/
[15], [16], [17]

 Sergio Alejandro Prada. (2010). Llaves primarias y foráneas. Recuperado el


29 de Octubre de 2018, del Sitio web:
https://ingsystemas.webnode.es/bases-de-datos/llaves-primarias-y-
foraneas/ [18]

 Rady Ferrera. (2010). DEFINICIÓN DE LLAVE FORÁNEA Y LLAVE


PRIMARIA (PK). Recuperado el 29 de Octubre de 2018, del Sitio web:
https://radyferrera.wordpress.com/2010/02/27/definición-de-llave-foránea-y-
llave-primaria-pk/ [19]
 PowerData. (2015). Tipos y función de los gestores de bases de datos.
Recuperado el 29 de Octubre de 2018, del Sitio web:
https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bid/406547/tipos-
y-funci-n-de-los-gestores-de-bases-de-datos [20]

 Universidad Autónoma de Hidalgo. (2013). Diseño de Bases de datos.


Recuperado el 01 de Noviembre de 2018, del Sitio web:
[21],
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro14/index.html
[22], [23], [24] , [25], [26]

 Abraham Silberschatz. (2010). Modelos de los datos. En FUNDAMENTOS


DE BASES DE DATOS (5). Aravaca (Madrid): McGraw-Hill. [27], [28]

 Marcos Sarmiento. (2017). Normalización de base de datos. Recuperado el


01 de Noviembre de 2018, del Sitio web:
http://www.marcossarmiento.com/2017/06/28/normalizacion-de-base-de-
datos/ [29], [30], [31].

 Jean-François Pillou. (2017). Lenguajes de Programación. Recuperado el 20


de Noviembre de 2018, del Sitio web: https://es.ccm.net/contents/304-
lenguajes-de-programacion.[32]

 Julián Pérez Porto y Ana Gardey. (2008). Definición de HTML. Recuperado


el 01 de Noviembre de 2018, del Sitio web: https://definicion.de/html/ [33]

 Christian Van Der Henst S. (2001). ¿Qué es el PHP?, Recuperado el 01 de


Noviembre de 2018, del Sitio web: http://www.maestrosdelweb.com/phpintro/
[34]

 Damián Pérez Valdés. (2007). ¿Qué es JavaScript?, Recuperado el 01 de


Noviembre de 2018, del Sitio web: http://www.maestrosdelweb.com/que-es-
javascript/ [35]
 Washington Apolinario. (2011). Biblioteca de JavaScript JQuery, Recuperado
el 01 de Noviembre de 2018, del Sitio web:
http://blog.espol.edu.ec/owapolin/biblioteca-de-java-script-jquery/ [36]

 Sin Autor. (2010). Breve historia de CSS. Recupero el 02 de Noviembre de


2018, del Sitio web: https://librosweb.es/libro/css/capitulo-1/breve-historia-
de-css.html [37]

 Johanny Solís. (2014). ¿QUÉ ES BOOTSTRAP Y CÓMO FUNCIONA EN EL


DISEÑO WEB?, Recuperado 02 de Noviembre de 2018, del Sitio
web:https://www.arweb.com/chucherias/%C2%BFque-es-bootstrap-y-como-
funciona-en-el-diseno-web/ [38]

 Sin autor. (2010). ¿Qué es FPDF?, Recuperado el 05 de Noviembre de 2018,

del Sitio web: http://www.fpdf.org/ [39]

 Mantenimiento de Computadoras. (2011) ¿Qué es XAMPP y para qué sirve?,


Recuperado el 05 de Noviembre de 2018, del Sitio web:
https://mantenimientosdeunapc.blogspot.com/2011/11/que-es-xampp-y-
para-que-sirve.html. [40]

 Mariano Espinoza Aguirre. (2015). MySQL, Recuperado el 05 de Noviembre


de 2018, del Sitio web: https://docplayer.es/661671-Mysql-es-un-sistema-de-
gestion-de-base-de-datos-relacional-multihilo-y-multiusuario-con-mas-de-
seis-millones-de.html [41]
 Royce. (1970). Ingeniería de Software. Recuperado el 05 de Noviembre de
2018, del Sitio web:
https://www.cgn.gub.uy/innovaportal/file/83018/1/material_concurso_r14_cg
n_2017.pdf [42]

 Marlady Ortiz. (2011). Modelo Incremental. Recuperado el 10 de Noviembre


de 2018, del Sitio web: http://isw-udistrital.blogspot.com/2012/09/ingenieria-
de-software-i.html [43]

 Boehm. (Sin fecha). IMPLEMENTACIÓN DEL MODELO INTEGRAL.


Recuperado el 06 de Noviembre de 2018, del Sitio web:
http://www.eumed.net/tesis-doctorales/2014/jlcv/software.html [44]

Das könnte Ihnen auch gefallen