División de Estudios de Posgrado e Investigación
Maestría en Sistemas Computacionales
Sistema de Información para la Trazabilidad de
Procesos Acuícolas de Pequeña Escala
Tesis
Que para obtener el grado de Maestro en Sistemas Computacionales
Presenta:
Joel Alejandro Villalobos Gómez
Director de Tesis:
D. en I. Jesús Alberto Verduzco Ramírez
Co-DirectorD. en T.I. Noel García Díaz
ii
Dedicatoria
A Dios
Por darme una grandiosa familia, y siempre ubicarme en el lugar adecuado.
A mi madre
De la cual he recibo apoyo incondicional, la primera en ocuparse de mi bienestar y sentirse orgullosa de celebrar mis triunfos. Te amo, madre.
A la memoria de mi abuela y mi padre
Con su esfuerzo, cuidados y gran ejemplo, construyeron el camino para mi desarrollo personal y profesional que me permitió llegar hasta este punto y conseguir el grado de maestría.
A mis hermanos
Por estar siempre que los necesito, apoyándome y aconsejándome.
“No es cierto que los seres humanos somos seres racionales por excelencia. Somos, como mamíferos, seres emocionales que usamos la razón para justificar u ocultar las emociones de las cuales se dan nuestras acciones”
Agradecimientos
Al Instituto Tecnológico de Colima por las facilidades otorgadas en el uso de sus instalaciones, y al personal docente por su disposición y apoyo para el desarrollo de este proyecto; en especial al Dr. Verduzco por templarme y guiarme en el arte de la investigación.
Al Consejo Nacional de Ciencia y Tecnología (CONACYT), por la beca otorgada que permitió realizar mis estudios.
A mis compañeros que, con su apoyo y entusiasmo, el curso del posgrado fue mas placentero. Aprendimos y nos divertimos.
iv
Resumen
Abstract
Índice general
PORTADA... i
DEDICATORIA ... i
AGRADECIMIENTOS ... iI RESUMEN ... ivV ABSTRACT... v
CAPÍTULO I INVESTIGACIÓN PRELIMINAR... 1
1.1 La naturaleza del problema ... 1
1.2 Planteamiento del problema ... 2
1.3 Revisión de la literatura ... 3
1.4 Propuesta de la solución del problema a investigar ... 8
1.4.1 Descripción del sistema ... 9
1.5 Motivación ... 10
1.6 Hipótesis ... 10
1.7 Objetivos ... 11
1.7.1 Objetivo general ... 11
1.7.2 Objetivos específicos ... 11
1.8 Justificación ... 11
1.9 Descripción de los métodos empleados ... 12
1.10 Organización de este documento ... 12
CAPÍTULO II ESTADO DEL CAMPO DE CONOCIMIENTO ... 14
2.1 Marco histórico ... 14
2.1.1 Antecedentes de producción en la industria acuícola. ... 14
2.1.2 Antecedentes de los sistemas de información ... 16
2.1.3 Antecedentes de la seguridad alimentaria ... 17
Índice general (continuación…)
2.2.1 Beneficios de los sistemas de trazabilidad ... 18
2.2.2 Caso de estudio de este proyecto ... 19
2.3 Marco teórico ... 20
2.3.1 Cadena alimentaria ... 20
2.3.2 Trazabilidad en la cadena de alimentos ... 21
2.3.3 Lote ... 21
2.3.4 Identificación del lote ... 22
2.3.5 Sistema de trazabilidad ... 22
2.3.6 Proceso para el desarrollo de software ... 22
2.3.7 Metodología Kanban ... 24
2.3.8 Lenguaje PHP ... 24
2.3.9 MySQL ... 24
2.3.10 CodeIgniter Web Framework ... 25
CAPÍTULO III MÉTODOS EMPLEADOS ... 26
3.1 Investigación preliminar ... 26
3.2 Análisis del proyecto ... 28
3.3 Diseño del modelo ... 29
3.4 Implementación ... 29
3.5 Validación y verificación... 29
3.5 Resultados y conclusiones ... 30
3.6 Documentación y capacitación ... 30
CAPÍTULO IV DESARROLLO DEL SOFTWARE DE TRAZABILIDAD ... 31
4.1 Análisis ... 31
4.1.1 Modelo de requisitos ... 32
4.1.2 Modelo de casos de uso ... 35
4.1.3 Diagramas de actividades con responsabilidades... 37
4.2 Diseño... 39
Índice general (continuación…)
4.2.2 Modelo de datos ... 40
4.2.3 Modelo de interfaces ... 48
4.2.4 Diagrama de navegación ... 51
4.2.5 Modelo de despliegue ... 52
4.2.5 Modelo de componentes ... 53
4.3 Implementación ... 54
4.3.1 Codificación ... 54
4.3.2 Transición ... 61
4.4 Verificación y validación... 62
4.4.1 Pruebas de componente (unitarias) ... 62
4.4.2 Pruebas de integración ... 63
4.4.3 Pruebas de sistema... 63
4.4.4 Pruebas de aceptación (pruebas alfa)... 63
CAPÍTULO V RESULTADOS OBTENIDOS ... 64
CAPÍTULO VI CONCLUSIONES Y TRABAJO FUTURO ... 68
Índice de figuras
Figura 1 Ubicación georreferenciada de la granja acuícola. ... 19
Figura 2 Datos de alimentación en kg., aplicados en estanques.. ... 19
Figura 3 Datos sensados de oxígeno disuelto y temperatura del agua. ... 19
Figura 4 Vista aérea de la granja acuícola.. ... 26
Figura 5 Tablero Kanban utilizado con la herramienta Trello. ... 28
Figura 6 Depósito de post-larvas. ... 31
Figura 7 Estanque en proceso de aireación. ... 31
Figura 8 Medidas perimetrales de los estanques. ... 31
Figura 9 Preparación de alimento. ... 31
Figura 10 Caso de uso para la interacción con el sistema de información. ... 35
Figura 11 Caso de uso para la compra-venta del producto final. ... 36
Figura 12 Caso de uso para el alta de identificadores en los catálogos. ... 36
Figura 13 Diagrama de actividades durante la preparación del terreno. ... 37
Figura 14 Diagrama de actividades en el manejo de siembra. ... 37
Figura 15 Diagrama de actividades en el manejo de alimentación o medicación. .... 38
Figura 16 Diagrama de actividades en el manejo de calidad del agua. ... 38
Figura 17 Diagrama de actividades durante la cosecha. ... 38
Figura 18 Diagrama de clases del sistema de trazabilidad. ... 39
Figura 19 Modelo Entidad-Relación del sistema de información para trazabilidad. .. 40
Figura 20 Modelado de la interfaz de inicio de sesión. ... 48
Figura 21 Modelado de la interfaz de pantalla principal. ... 49
Figura 22 Modelado de presentación del menú desplegable del perfil. ... 49
Figura 23 Modelado de la interfaz de catálogos. ... 50
Figura 24 Modelado de la interfaz de altas y actualizaciones de registros. ... 50
Figura 25 Modelado de la interfaz de consulta de reportes. ... 51
Figura 26 Diagrama de navegación del sistema de información. ... 52
Figura 27 Modelo de despliegue del sistema de información. ... 53
Figura 28 Modelo de componentes del sistema de información... 53
Índice de figuras (continuación…)
Figura 30 Información del servidor contratado en el plan hosting. ... 61
Figura 31 Modelo V de pruebas. ... 62
Figura 32 Interfaz principal del sistema. ... 64
Figura 33 Lista de opciones de tratamientos aplicados al ciclo de cultivo. ... 65
Figura 34 Detalle del registro seleccionado... 65
Figura 35 Formulario de captura de nuevos registros. ... 66
Figura 36 Formulario de actualización de información de registros. ... 66
Índice de tablas
Tabla 1 Beneficios asociados a un sistema de trazabilidad.. ... 18
Tabla 2 Etapas de la trazabilidad del ciclo de cultivos acuícolas. ... 27
Tabla 3 Cronograma de actividades realizadas en el proyecto. ... 30
Tabla 4 Requisitos funcionales para ingresar al sistema. ... 32
Tabla 5 Requisitos funcionales para la información de catálogos. ... 33
Tabla 6 Requisitos funcionales para la información a mostrar en reportes. ... 33
Tabla 7 Requisitos funcionales para el manejo del cultivo. ... 34
Tabla 8 Requisitos no funcionales del sistema... 34
Tabla 9 Entidad correspondiente al catálogo de razas o especies a producir. ... 41
Tabla 10 Entidad correspondiente al catálogo de clientes. ... 41
Tabla 11 Entidad correspondiente a la relación entre lotes y ventas. ... 42
Tabla 12 Entidad correspondiente al catálogo de tipos de evento. ... 42
Tabla 13 Entidad correspondiente al registro de eventos de alimentación y medicación. ... 42
Tabla 14 Entidad correspondiente al catálogo de laboratorios. ... 43
Tabla 15 Entidad correspondiente a la información de lotes en producción. ... 43
Tabla 16 Entidad correspondiente al catálogo de estanques. ... 44
Tabla 17 Entidad correspondiente al registro de actividades en la preparación del terreno. ... 44
Tabla 18 Entidad correspondiente al catálogo de productos. ... 45
Tabla 19 Entidad correspondiente a la relación de productos utilizados en los tratamientos. ... 45
Tabla 20 Entidad correspondiente al registro del muestreo realizado durante el ciclo de cultivo. ... 45
Tabla 21 Entidad correspondiente de los valores sensados por un sistema de monitoreo. ... 46
Tabla 22 Entidad correspondiente al catálogo de proveedores... 46
Tabla 23 Entidad correspondiente al catálogo de tratamientos. ... 47
Índice de tablas (continuación…)
C
APÍTULOI
I
NVESTIGACIÓN PRELIMINAR
1.1 La naturaleza del problema
De acuerdo con Montero Rodríguez (2013) del Departamento de Pesca y Acuicultura de la Organización de las Naciones Unidas para la Alimentación y la Agricultura (FAO por sus siglas en ingles), se considera a la pesca y la acuicultura, parte esencial del quehacer económico y social del país, y la acuicultura representa una alternativa real para ampliar la oferta alimentaria, contribuyendo en la generación de divisas y fuentes permanentes de empleo. Esto es acorde con las cifras del censo económico más reciente realizado por el Instituto Nacional de Estadística y Geografía (INEGI, 2015), donde se muestra que, en la actualidad se cuenta con más de 500 granjas en operación en México, en las cuales la industria de la camaronicultura obtuvo una producción bruta total de 3,142.7 millones de pesos, siendo el estado de Colima participe con el 2.15% en esta actividad.
Sin embargo, por parte del Instituto Nacional de la Pesca, se menciona que en México el cultivo de camarón presenta graves deficiencias que hay que subsanar para incrementar la eficiencia en la producción, debido a falta de información fidedigna y confiable que permita identificar en detalle los problemas que enfrentan los técnicos en el manejo de las diferentes etapas del ciclo de cultivo, además de la falta de capacitación y adiestramiento de los técnicos y directores, ya que la mayoría de ellos provienen de carreras técnicas generales, en las que los temas de acuicultura son deficientes y carecen de los conocimientos básicos para entender los procesos que rigen la acuicultura. (Chávez, 1993)
las etapas especificadas de producción, procesamiento y distribución; que de acuerdo con Loubet y Valadés (2010), esta iniciativa fue propuesta esta iniciativa fue propuesta por la FAO y la Organización Mundial de la Salud (OMS) ante la cantidad de personas que a nivel mundial han sufrido Enfermedades Transmitidas por Alimentos (ETA) provocadas debido al consumo de productos contaminados, que de acuerdo con la OMS (2017), se estima que alrededor de 420,000 personas mueren en el mundo cada año por patógenos y sustancias químicas como plaguicidas, fertilizantes químicos, micotoxinas, antibióticos, dioxinas, hidrocarburos, biotoxinas marinas y metales pesados.
Es por lo anterior, que la trazabilidad como una forma de identificar y controlar el manejo de información sobre salud animal y las enfermedades infecciosas, se ha vuelto cada vez más importante considerando la formalización de los mercados, y los requerimientos de la agroindustria y elaboración de alimentos a lo largo de toda la cadena productiva. Debido a esto, muchos países se han visto obligados a adoptar nuevos protocolos, normas, políticas y estrategias para fomentar las buenas prácticas en la trazabilidad de producción de alimentos y garantizar la aplicación de medidas de bioseguridad (uso seguro de los recursos biológicos y genéticos) que resulten en la obtención de productos inocuos.
1.2 Planteamiento del problema
a la práctica en cultivos, gestión post-cosecha, comercialización, baja utilización de las tecnologías de información, y la falta de establecimientos con normas y reglamentos para el empaque que requiere el mercado internacional; algo muy relacionado a lo mencionado por Rodríguez Vázquez y Flores-Nava (2013) en su investigación.
1.3 Revisión de la literatura
Al ser un requisito de sanidad, distintas investigaciones alrededor del mundo se han realizado con el objetivo de mejorar la fiabilidad de la información generada con los procesos de las diferentes cadenas productivas, en los que la trazabilidad es un tema importante, principalmente para la seguridad alimentaria como se muestra a continuación:
En la investigación de Yangqing et al. (2008) aprovecharon el uso de un sistema de identificación por radiofrecuencia (RFID por sus siglas en inglés) utilizado en una granja de ganado porcino ubicada en China para implementar un sistema de información para la trazabilidad de la carne de cerdo. Este sistema lo desarrollaron en C# utilizando el patrón de diseño n-capas para facilitar la modificación del código durante el desarrollo y prueba de la aplicación. Consta de tres módulos (cultivo, sacrificio y venta) en los que cada uno administra la carga de información pertinente acerca del monitoreo de seguridad por cada identificador asignado al cerdo, basado en los reglamento y leyes aplicables a cada etapa, asegurando la coherencia de datos entre los tres módulos. Este sistema utiliza para el almacenamiento de información el gestor de base de datos SQL Server 2003 y fue alojado en un servidor Windows Server 2003, lo cual implica la necesidad de gastos en licencias de actualización de software que permitan utilizar las tecnologías innovadoras que se desarrollen con el paso del tiempo.
Sonora, Sinaloa y Nayarit para lograr una visión integral y enfoque de esa región y sus perspectivas de sostenibilidad a futuro. Llevaron a cabo el análisis de los parámetros técnicos y económicos en 80 granjas comerciales semi-intensivas de camarón. Los aspectos técnicos y económicos de los parámetros utilizados en este estudio (número total de fincas, tamaño medio de la finca (ha), tamaño del estanque (ha), densidad de la población (post-larva, PL/m2), número de cultivos por año, porcentaje de supervivencia, producción total (toneladas), gastos fijos, mano de obra y utilidad) fueron comparados a nivel regional en varios países del sureste asiático.
Binti Azram &y Binti Atan (2011) presentaron un método de trazabilidad de ingeniería de software para el rastreo de ingredientes alimentarios. El objetivo principal de esta investigación fue aplicar y verificar que un método de trazabilidad de ingeniería de software fuera adecuado para el rastreo de ingredientes alimentarios. Para el documento de ingredientes alimentarios, utilizaron un ejemplo de la documentación de pan para el rastreo. Utilizaron tres documentos, que son el documento de Ingrediente de Pan, el documento de Proceso de Fabricación de Pan y el documento de Equipo de Pan. Al igual que en los casos de estudio de ingeniería de software previamente realizados en el proceso de investigación, determinaron lo que querían trazar a partir del documento. A partir de ahí, lo rastrearon manualmente en cada uno de los documentos partiendo del documento de ingredientes, haciendo el documento de proceso y por último el documento de equipo. A continuación, realizaron el rastreo utilizando la herramienta de rastreo y se registró el resultado tanto para el rastreo manual como para el automatizado. Calcularon el porcentaje de la rastreabilidad y la tasa diferencial.
Teng et al. (2012) implementaron un prototipo de servicio basado en WEB para modernizar la gestión de un rebaño basado en RFID que fue probado en una granja lechera con más de tres mil vacas ubicada en Washington, Estados Unidos. Este servicio fue basado en la arquitectura de Microsoft Sync Framework OCA (Occasional Connected Application), y consiste entre sus componentes principales, de una base de datos y una aplicación desarrollada en C# y JavaScript alojados en el servicio de Microsoft Azure Cloud, y un cliente móvil que se ejecuta en sistemas operativos Microsoft Windows y Windows Mobile, el cual contiene una base de datos local que funciona como un cache de la fuente de datos central que se sincroniza entre si ocasionalmente según sea necesario. No obstante, este desarrollo implicó un desembolso monetario mensual ya que se requieren herramientas comerciales de paga.
Qiao et al. (2013) propusieron un modelo de trazabilidad de seguridad vegetal, integrado con tecnología bidimensional de código de barras y un servicio Web mediante análisis de la cadena de suministro de vegetales. El modelo toma el código de barras bidimensional como portador de información que identifica un objeto de entidad estrechamente relacionado con el cultivo, procesamiento, transporte, almacenamiento, comercialización y adopta tecnología de servicio Web para procesar e intercambiar información. El modelo propuesto utiliza dos canales, uno es la trayectoria de arriba hacia abajo, que rastrea la información desde el cultivo hasta la comercialización y registra esta información con código de barras 2D. La otra trayectoria es ascendente, la cual refleja dos aspectos. Por un lado, los consumidores obtienen información histórica de las hortalizas y por otro lado el departamento de seguridad alimentaria rastrea la cadena superior y puede determinar donde se encuentra el problema en caso de ser necesario. Este documento toma la unidad mínima de embalaje de productos vegetales como patrón de identidad de trazabilidad.
a la toma de decisiones, utilizaron técnicas de aprendizaje automático para predecir los cierres de una conquilicultura. Como las series temporales ambientales se utilizan en el cierre, propusieron dos enfoques que utilizan series temporales y aprendizaje automático para la predicción del cierre. En un enfoque, consideraron la predicción de series de tiempo y luego utilizaron reglas expertas para predecir el cierre. En otro enfoque, usaron la clasificación en series de tiempo para la predicción del cierre. Ambos enfoques explotan una técnica dinámica basada en datos en la que los modelos de predicción se actualizan con la actualización de nuevos datos para predecir las decisiones de cierre. Los resultados experimentales de un estudio de caso de una conquilicultura validaron la aplicabilidad del método propuesto en la ayuda a la toma de decisiones en materia de acuicultura.
Parreño, Alvarez, Trebar y Filippin (2014) presentaron una novedosa arquitectura de sistemas de trazabilidad basada en servicios web, que se utilizan para integrar los datos de trazabilidad capturados a través de sistemas de identificación por radiofrecuencia (RFID) con los datos medioambientales recogidos con la infraestructura de redes de sensores inalámbricos (WSN). La solución, adecuada para ser implementada en Pequeñas y Medianas Empresas (PYMES), se proporciona mediante la integración de la información recogida a lo largo de toda la cadena de suministro de alimentos, el seguimiento de los productos desde la granja hasta el consumidor. También se presentaron los resultados del despliegue del novedoso sistema en dos proyectos piloto en el negocio de la acuicultura, mostrando cómo los procesos de negocio en la cadena de suministro de la acuicultura pueden ser mejorados por la arquitectura y flexibilidad del nuevo sistema, ya que las dos empresas involucradas en el proyecto son de tamaños muy diferentes. La evaluación presentó la reducción de tiempo de las actividades y la mejora de la eficiencia de las empresas en un 89-95%.
necesaria, redujeron y separaron todo el proceso la producción acuícola en varias actividades, las cuales dividieron en cuatro módulos (registro de acuicultores, creación de estanques, gestión de estanques y reporte de estanques). El módulo de registro de acuicultores requería un proceso de una sola vez en el cual se ingresa la información personal del productor y la información de la granja. El módulo de creación de estanques realizaba el proceso de captura de los datos de longitud y latitud para cada estanque. El módulo de gestión de estanques esta categorizado en varias actividades como son las de siembra del cultivo, control de alimentación, registro de parámetros físicos del agua y la cosecha. El módulo de reporte de estanques presenta información tabular para para su análisis. Si bien este desarrollo es capaz de llevar la administración de todo el proceso de cultivo, no menciona estar basado en estándares internacionales ni la aplicación de algún manual de buenas prácticas que garanticen la inocuidad del producto.
N. Binti y R. Binti (2016), propusieron un modelo de trazabilidad para el rastreo de documentos alimentarios denominado Document Trace Model (DTM) basado en un enfoque de línea de productos de software que utilizo el ejemplo de la escritura colaborativa, realiza el seguimiento de la trazabilidad entre los documentos por medio de palabras clave. Al modelo SPL en el que se basaron, agregaron un enlace de trazabilidad adicional con el cual no se atendería el problema de rastreo si un documento se pierde o ausenta. Para verificar los resultados del rastreo, propusieron tres métricas de trazabilidad las cuales contienen nueve atributos basados en los problemas de trazabilidad.
esto que la historia completa del producto pueda ser reconstruida a través de la lectura del código QR generado para cada lote. Sin embargo, esta aplicación es usada de forma local y no puede ser consultada o alimentada vía WEB.
1.4 Propuesta de la solución del problema a investigar
En este trabajo de investigación se consideró que, para mantener las condiciones controladas en los ciclos de cultivo, de las granjas acuícolas de pequeña escala del estado de Colima, es necesario que tengan como herramienta, un sistema de información WEB como se muestra en el modelo conceptual de la figura 1, que les permita modernizar sus procesos de registro durante todo el ciclo de cultivo, desde la siembra hasta su cosecha, para generar la trazabilidad de la cadena productiva
Para llevar a cabo este objetivo, el diseño se realizó con base en el seguimiento de las recomendaciones seleccionadas del Manual de Buenas Prácticas de Producción Acuícola de Camarón para la Inocuidad Alimentaria, elaborado por (Chávez & Higuera, 2003) a petición del Servicio Nacional de Sanidad, Inocuidad y Calidad Agroalimentaria (SENASICA), con el objetivo de implementar la norma ISO 16741 para la trazabilidad de los productos crustáceos emitida por la ISO (2015).
Este estándar internacional fue elegido por ser adecuado para el propósito del proyecto, ya que su esquema especificado, si bien está construido en conformidad con la norma 22005:2007, este no exige una trazabilidad perfecta, es decir, solo requiere que un producto minorista particular pueda ser rastreado hasta una incubadora o granja, y lote de origen.
Figure 1 Modelo conceptual del sistema para trazabilidad. Fuente propia.
1.4.1 Descripción del sistema
1.4.1.1 Módulo de identificadores
El sistema de información para trazabilidad basado en WEB, integra un módulo de catálogos para el registro de identificadores de usuarios para la seguridad en la operación del sistema, además, permite generar de forma básica la trazabilidad ascendente y descendente, y los identificadores necesarios para la generación de trazabilidad interna. Estos catálogos son:
1.4.1.2 Módulo de trazabilidad interna
Los eventos realizados, tales como alimentación, medicación o muestreo del producto en los procesos aplicados a cada estanque, el cual es considerado como lote al estar en producción; son registrados en el sistema a través del módulo de trazabilidad. En la vista de cada estanque, se muestra los indicadores del lote activo con respecto al volumen consumido de alimento, la cantidad de eventos de enfermedad registrados durante el ciclo de cultivo, y el muestreo más reciente realizado al producto.
1.4.1.3 Módulo de reportes
El sistema permite reconstruir el histórico a través de reportes para la toma de decisiones, además, permite la generación del documento de venta con código QR, en el que se muestra la información requerida para consulta del origen y tratamiento del producto final.
1.5 Motivación
Además de contribuir para el sector productivo y económico de la industria acuícola del estado de Colima, en lo personal, adquirir conocimientos, actitudes y habilidades de investigación, en relación con el ámbito analizado a partir de su concepción.
1.6 Hipótesis
1.7 Objetivos
1.7.1 Objetivo general
Implementar un sistema de información en entorno WEB para llevar a cabo la trazabilidad de ciclos de cultivos acuícolas, sustentado en la norma ISO 16741:2015 y el manual de buenas prácticas acuícolas, para mejorar la productividad, competitividad y crecimiento económico de la empresa Productora y Comercializadora Agrícola, Ganadera y Acuícola Hueso S.P.R.
1.7.2 Objetivos específicos
• Revisar el estado del arte de los sistemas para trazabilidad en el mundo e investigar sobre los principios de innocuidad alimenticia en SAGARPA.
• Analizar y definir los requerimientos funcionales y no funcionales.
• Modelar la base de datos y la interfaz de usuario.
• Implementar el prototipo de software.
• Realizar pruebas de calidad al software.
• Realizar el despliegue del desarrollo.
• Medir el impacto de la puesta en marcha del modelo de trazabilidad.
• Elaborar la documentación del proyecto.
1.8 Justificación
la correcta toma de decisiones, lo cual repercute en un aumento de productividad y competitividad, obteniendo de esta forma mejores resultados en la cosecha, y por consecuencia, un crecimiento económico.
1.9 Descripción de los métodos empleados
Este trabajo se desarrolló, realizando en primera instancia, un análisis exhaustivo del estado del campo de conocimiento y diversas fuentes de información respecto al uso de sistemas de información para el control de procesos de trazabilidad, principalmente en cadenas de producción alimentaria. Con esto se establecieron los principales requerimientos funcionales y no funcionales que, en conjunto con lo observado en la granja acuícola, permitió elaborar el modelo de la aplicación para su posterior implementación utilizando tecnologías de licencia pública y la metodología Kanban propuesta por SUGIMORI, KUSUNOKI, CHO y UCHIKAWA (1977).
1.10 Organización de este documento
El presente documento se estructuró en 5 capítulos, en las cuales se fundamenta y se explica a detalle las fases del desarrollo:
- Capítulo 1: Se describe la introducción del tema, donde se expone el contexto del problema que motivó la realización de este proyecto, se propone una solución y se plantea la hipótesis y objetivos.
- Capítulo 3: Se presenta la metodología utilizada para el desarrollo del sistema de información, donde se destaca el uso del método Kanban para llevar a cabo las etapas de análisis, diseño, implementación y verificación.
- Capítulo 4: Este capítulo describe las fases seguidas en el proceso para instrumentar la investigación, llevando a cabo el modelado necesario para el desarrollo del software acorde a los requisitos iniciales, su implementación y verificación.
C
APÍTULOII
E
STADO DEL CAMPO DE CONOCIMIENTO
2.1 Marco histórico
Para entender la importancia del uso de sistemas de información para trazabilidad, es necesario tener en cuenta los antecedentes de la acuicultura en México, y como estos sistemas se han buscado implementar con anterioridad para garantizar el aseguramiento de inocuidad de los alimentos
2.1.1 Antecedentes de producción en la industria acuícola.
Se dice que la acuicultura tuvo su origen en Asia y Egipto. En el trabajo de (Salazar, 2001) menciona que se desarrolló primeramente en el sureste asiático y señala como se introdujo al continente americano, y como llego esta tecnología a México, además de mencionar los primeros intentos por diseñar un sistema de información acuícola, como se cita a continuación:
de camarón se estableció en 1985 en los márgenes del rio que atraviesa la ciudad de Los Mochis, Salinas.
Acorde con lo anterior, en la compilación realizada por, de la Lanza-Espino y Arredondo Figueroa (1990), menciona como desde el último tercio del siglo XX, la acuicultura ya tenía gran relevancia para la producción de alimentos, como lo describen a continuación:
La acuicultura es foco de atención con las mas optimistas expectativas para la producción de alimentos. El incremento en sus rendimientos ha contribuido a aumentar el entusiasmo por la actividad; tan sólo en el periodo comprendido entre 1975 y 1985, se consigna un crecimiento mundial anual del 18.9%; mientras que, el de producción agrícola fue de 2.4% y el pesquero de 1.1% en el mismo lapso. La producción mundial por acuicultura para 1985 fue de 8.7 millones de toneladas.
2.1.2 Antecedentes de los sistemas de información
En palabras de Trasobares (2003):
Los sistemas de información han ido evolucionando durante los últimos años hasta constituir los denominados sistemas de información estratégicos. Primeramente, los sistemas de Información empresariales eran considerados como un instrumento simplificador de las distintas actividades de la empresa, una herramienta con la cual se facilitaban los tramites y reducía la burocracia. Su finalidad era básicamente llevar la contabilidad y el procesamiento de los documentos a nivel operativo.
2.1.3 Antecedentes de la seguridad alimentaria
Tal y como se describe en el portal de AgroBioTek, de acuerdo con (Mueses, 2014) en su entrada de blog “Inocuidad: Un poco de Historia | Sanidad, Inocuidad y Calidad de Alimentos”:
El concepto Sistema de Análisis de Peligros y Puntos Críticos de Control (HACCP por sus siglas en inglés) fue desarrollado durante el inicio del programa espacial de los Estados Unidos, como mecanismo para tratar de garantizar la seguridad microbiológica de los alimentos que consumirían los astronautas.
2.2 Marco contextual
Los sistemas para la trazabilidad de la cadena productiva de alimentos se han convertido en un requerimiento internacional. Se ha demostrado que almacenar registros completos y bien organizados de los eventos realizados, y los tratamientos aplicados en los procesos de producción, aportan una integración Proveedor-Empresa-Cliente que permite la recreación completa del historial de un producto, y por consecuente, la fácil identificación de un problema ante cualquier contingencia.
2.2.1 Beneficios de los sistemas de trazabilidad
De acuerdo con lo mencionado por Alfaro, Rábade y Álvarez (2007), sin duda, serán muchas las empresas que implementan sistemas de trazabilidad. Sin embargo, tan sólo aquellas empresas que aborden la trazabilidad como una herramienta de distinción, conseguirán todos los beneficios potenciales que estos sistemas ofrecen, los cuales pueden observarse en la tabla 1.
Tabla 1 Beneficios asociados a un sistema de trazabilidad. Obtenida del trabajo de Alfaro et al.
Aprovisionamiento Producción Distribución
- Utilización de criterios objetivos para seleccionar proveedores. - Reducción de las
mermas de materias primas. - Mejora de la calidad
de las materias primas.
- Mejora en la
productividad de los trabajadores.
- Reducción en el
inventario de productos finales y en curso. - Reducción de las
pérdidas por caducidad de los productos
finales.
- Mejora en los
indicadores de nivel de servicio.
- Reducción en el número de devoluciones de producto final. - Menores costes de
2.2.2 Caso de estudio de este proyecto
En esta investigación se realizó un caso de estudio para la granja de camarones de la empresa Productora y Comercializadora Agrícola, Ganadera y Acuícola Hueso S.P.R., ubicada como se muestra en la figura 1, en Manzanillo, Colima; con latitud 19.012992 y longitud -104.225171.
Figura 1 Ubicación georreferenciada de la granja acuícola. Obtenido de Google Maps.
Figura 2 Datos de alimentación en kg., aplicados en estanques. Fuente propia.
Tomando en consideración lo anterior, entendimos que no bastaba con implementar un sistema para llevar a cabo la trazabilidad de un proceso, y se tenía que hacer énfasis en que la eficiencia del sistema se debía fundamentar en la correcta generación de los registros, iniciando con la preparación del terreno, obtención de crías, eventos de la producción, aplicación de sustancias químicas y gestión de cada etapa hasta su cosecha, permitiendo con esto, la capacidad de reconstrucción del historial de la producción de lotes, además del monitoreo y manejo de estanques en la granja.
Aunque este desarrollo contempló los tres tipos de trazabilidad, se consideró que la información de mayor impacto que se obtendría, sería a través de los registros generados por la trazabilidad interna, dejando la trazabilidad ascendente y descendente solo con la información referente a quien abasteció larvas y productos, y a quién se vendió cada lote o parte de él, proporcionándole a su vez, información relevante con respecto al historial del proceso de producción del lote adquirido.
2.3 Marco teórico
Para conseguir que el sistema de información para trazabilidad fuera completamente funcional, entendimos los conceptos que definen los requerimientos para el desarrollo de la aplicación y lograr cumplir con el objetivo general de esta investigación.
2.3.1 Cadena alimentaria
Acorde a la norma 22005:2007 la ISO define este concepto como:
producción de alimentos para animales de los que se obtienen alimentos, y para animales destinados a la producción de alimentos (ISO, 2007).
Comprender la importancia de este concepto fue el punto de partida para el logro de este desarrollo, ya que se adapta perfectamente a la necesidad de tener totalmente definidas cada etapa del ciclo de cultivo del camarón.
2.3.2 Trazabilidad en la cadena de alimentos
La norma 22005:2007 define este concepto como la “Capacidad de seguir el recorrido de un alimento a través de las etapas especificadas de producción, procesamiento y distribución, el recorrido se puede relacionar con el origen de los materiales, el historial del procesamiento o la distribución del alimento” (ISO, 2007).
Definida las etapas del ciclo de cultivo de camarón, fue necesario implementar un medio para tener el registro histórico de las acciones realizadas durante el ciclo de cultivo, desde la preparación del terreno hasta su cosecha.
2.3.3 Lote
La ISO lo define como el “conjunto de unidades de un producto que se han elaborado y/o procesado o embalado en condiciones similares” (ISO, 2007).
2.3.4 Identificación del lote
Una vez establecido que cada lote corresponde a un estanque en el mismo periodo de cultivo, se debe asignar un identificador que permita la reconstrucción del histórico de eventos de cada lote, de acuerdo a lo mencionado en la norma 22005:2007 la cual lo define como el “Proceso de asignación de un código único a un lote” (ISO, 2007).
De esta forma, se puede consultar a través del sistema, toda la información de los eventos ocurridos como, por ejemplo, cuando y con que se alimentó o medicó en la producción a un lote especificado, o el tiempo transcurrido entre la preparación del terreno al cual se asignó ese lote y cuando se cosechó.
2.3.5 Sistema de trazabilidad
Esto precisa el resultado obtenido en esta investigación, debido a que la ISO lo define como la “totalidad de los datos y operaciones que permite mantener la información deseada de un producto y sus componentes a través de toda su cadena de producción y utilización, o de parte de ella” (ISO, 2007).
El objetivo de esta investigación implicó la completa comprensión de los requerimientos que involucraba la realización de un sistema de trazabilidad, para determinar el alcance del proyecto aplicado a este caso de estudio.
2.3.6 Proceso para el desarrollo de software
2.3.6.1 Comunicación
En esta actividad “se busca entender los objetivos de los participantes respecto del proyecto, y reunir los requerimientos que ayuden a definir las características y funciones del software” (Pressman, 2009, p.13).
2.3.6.2 Planeación
En esta actividad se “define el trabajo de ingeniería de software al describir las tareas técnicas por realizar, los riesgos probables, los recursos que se requieren, los productos del trabajo que se obtendrán y una programación delas actividades” (Pressman, 2009, p.13).
2.3.6.3 Modelado
Esta actividad es utilizada para “crear modelos a fin de entender mejor los requerimientos del software y el diseño que los satisfará” (Pressman, 2009, p.13). Tener una vista del aspecto aproximado al resultado requerido, permitió que todos los actores involucrados opinaran sobre la usabilidad de la aplicación y los cambios necesarios a considerar para conseguir la simpleza pretendida para su operación en la granja acuícola.
2.3.6.4 Construcción
2.3.6.5 Despliegue
Esta actividad representa la culminación del desarrollo de software y “se entrega al consumidor que lo evalúa para que le de retroalimentación, misma que se basa en dicha evaluación” (Pressman, 2009, p.13).
2.3.7 Metodología Kanban
De acuerdo con Sugimori, Kusunoki, Cho y Uchikawa (1977) esta metodología es “un sistema de control de producción para la elaboración justo a tiempo y haciendo pleno uso de las capacidades de los trabajadores” (p.559).
Esta metodología se utilizó durante cada etapa del desarrollo del proyecto, permitiendo a los integrantes, estar informados de cómo iba evolucionando la construcción del software.
2.3.8 Lenguaje PHP
PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML (The PHP Group, 2001).
Se utilizó este lenguaje como base para el desarrollo del proyecto debido a su madurez y compatibilidad con la gran mayoría de servicios hosting disponibles en el mercado.
2.3.9 MySQL
por propiedades web de alto perfil, incluyendo Facebook, Twitter, YouTube, Yahoo! y muchos más (Oracle corporation, 2018).
Esta tecnología se utilizó para la implementación del modelo de datos y el almacenamiento de los registros de trazabilidad capturados en el sistema.
2.3.10 CodeIgniter Web Framework
C
APÍTULOIII
M
ÉTODOS EMPLEADOS
Para comprobar la hipótesis establecida, se realizó un proyecto piloto en la granja de este caso de estudio, en la cual, se utilizó el software para el registro de información de los eventos ocurridos en los lotes producidos. En la figura 4, se observa una vista aérea de la distribución de los estanques de la granja acuícola.
Figura 4 Vista aérea de la granja acuícola. Obtenido de Google Maps.
3.1 Investigación preliminar
De lo anterior, se obtuvo la conclusión de que la implementación de este desarrollo necesitaba basarse, como se muestra en la tabla 2, en las etapas sugeridas en el manual de buenas prácticas del manejo para el cultivo del camarón blanco elaborado por Cuéllar, Lara, Morales, De Gracia y García (2010); ya que cubren la mayoría de los requisitos establecidos en la norma internacional 16741:2015. Además, se juzgó conveniente integrar un enlace para la consulta de recomendaciones del manual de buenas prácticas de producción acuícola de camarón para la inocuidad alimentaria elaborado por Chávez e Higuera (2003) a solicitud del SENASICA.
Tabla 2 Etapas de la trazabilidad del ciclo de cultivos acuícolas.
Etapas Actividades en la trazabilidad
Preparación de los estanques
Drenado total Secado
Extracción de materiales extraños en el estanque Evaluación de la condición del fondo
Manejo de sedimentos Encalado del fondo Roturación del fondo Llenado del estanque
Siembra en el estanque
Fuente de post-larvas (PL) Aclimatación de PL Siembra de PL
Manejo de alimentos, medicamentos o productos químicos
Registro de fecha y hora de aplicación
Registro del identificador del actor que interviene en el evento
Manejo de calidad del agua
Monitoreo de la calidad del agua Aireación
Recambio de agua Fertilización
3.2 Análisis del proyecto
En esta etapa se realizaron las actividades de comunicación y planeación, procediendo, en las cuales, junto con el equipo integrado por el supervisor interno y asesores, se definieron los requisitos funcionales y no funcionales, los casos de uso, y los diagramas de actividades a realizar en la construcción, con los cuales se determinó el alcance del proyecto.
Para llevar a cabo el seguimiento por parte de todos los integrantes del equipo, los pasos subsecuentes en el desarrollo se llevaron a cabo usando el método Kanban a través del uso de la herramienta Trello (ATLASSIAN, 2018), tal como se observa en la figura 5. De esta forma, se solicitaban tareas a desarrollar en la construcción de la aplicación a través del flujo de trabajo del tablero digital, permitiendo a los integrantes del equipo mover de sitio libremente las tarjetas entre las etapas de (por hacer, análisis, en progreso, por revisar y realizado), colaborando de esta forma prácticamente en tiempo real.
3.3 Diseño del modelo
En esta etapa se ejecutó la actividad de modelado utilizando la herramienta StarUML (Ltd., 2014), en la cual se elaboraron los modelos de clases y de componentes; se modelaron las pantallas de interfaz de usuario, se desarrollaron los diagramas de navegación, el modelo de despliegue y el modelo de datos; dándole especial atención y prioridad a este último debido a su importancia en el proyecto, debiendo asegurar la integridad y consistencia de los datos para la correcta reconstrucción del historial del ciclo de cultivo acuícola.
3.4 Implementación
Con base en lo elaborado en la etapa de diseño, se procedió con la ejecución de la actividad de construcción. Es decir, los requisitos funcionales, modelo de datos, clases y componentes, fueron convertidos en código del lenguaje PHP utilizando el framework CodeIgniter (EllisLab, 2018); se creó la base de datos en el gestor MySQL a través de la herramienta phpMyAdmin y se implementaron las interfaces de navegación utilizando código HTML5 y CSS3.
3.5 Validación y verificación
3.5 Resultados y conclusiones
Concluida la construcción, se ejecutó la última actividad del proceso de desarrollo de software, en la cual se realizó el despliegue del proyecto. Esto nos permitió emitir juicios sobre el impacto generado en los integrantes del equipo de trabajo de la granja, realizando simulaciones de captura de registros y generación de reportes, dando como resultado una herramienta que simplificó la consulta de información para la toma de decisiones durante el ciclo de cultivo.
3.6 Documentación y capacitación
Para el soporte técnico se elaboraron manuales de operación y se brindó capacitación a los técnicos y administradores que trabajan en la granja acuícola.
Tabla 3 Cronograma de actividades realizadas en el proyecto.
2017 2018
Actividad Fe
b Ma r Ab r Ma y Ju
n Jul
Ag
o
Se
p Oct
C
APÍTULOIV
D
ESARROLLO DEL SOFTWARE DE TRAZABILIDAD
4.1 Análisis
Para conocer la viabilidad y factibilidad de este proyecto, se realizaron reuniones para conocer las necesidades de los productores, dueños de la granja que fue objeto de este estudio, la cual fue visitada para observar y conocer los procedimientos que se realizaban durante el proceso de producción, tal como se muestra en las figuras 6, 7, 8 y 9.
Observada la falta de un sistema eficaz para la captura del registro histórico del proceso del cultivo acuícola como se mencionó en los capítulos anteriores, en la etapa de comunicación se determinó que para mejorar la productividad de la granja y elevar su competitividad, se requería de un sistema de información que cumpliera los
Figura 6 Depósito de post-larvas. Figura 7 Estanque en proceso de aireación.
requisitos mínimos de trazabilidad para cumplir con las exigencias de los mercados internacionales, para lo cual fue utilizada como base la norma 16741:2015.
Lo anterior, junto con los requisitos mencionados a continuación, los cuales fueron analizados por parte de los integrantes del grupo de trabajo, permitió obtener una idea clara para realizar una propuesta de solución que derivó en la elaboración del modelo conceptual, definir los casos de uso y los diagramas de actividad.
4.1.1 Modelo de requisitos
Para asegurar que el sistema de información a desarrollar fuera realmente útil en las tareas de los actores organizacionales; de acuerdo con Estrada, Martínez, Pastor y Sánchez (2012), las metas organizacionales debían tener relación entre los objetivos perseguidos por el negocio y los requisitos del sistema de información a desarrollar, ya que todos estos requisitos (funcionales y no funcionales) deben corresponder con tareas a desempeñar dentro de los procesos del ciclo del cultivo.
4.1.1.1 Requisitos funcionales
Tabla 4 Requisitos funcionales para ingresar al sistema.
ID Descripción
RF01
Cuando ingrese al URL de la aplicación, se debe solicitar las credenciales de usuario en una página descriptiva de la empresa, para poder acceder al sistema.
RF02
Cuando acceda al sistema, debe restringir operaciones conforme al rol del usuario autorizado por el sistema para permitir las acciones del sistema dependiendo si es administrador o técnico.
RF03
Tabla 5 Requisitos funcionales para la información de catálogos.
ID Descripción
RF04 Cuando necesite dar de alta o eliminar usuarios del sistema, necesito poder hacerlo a través de un catálogo por medio de un usuario administrador. RF05 Para la identificación de la trazabilidad ascendente, se debe registrar la
información de proveedores de post-larvas, alimento y medicamentos. RF06 Para la identificación de la trazabilidad descendente, se debe registrar la
información de los clientes.
RF07 Para el caso de los laboratorios proveedores de post-larvas, se debe identificar las especies proveen.
RF08 Para el caso de proveedores de alimentos y medicamentos, se debe identificar los productos correspondientes adquiridos a cada uno de ellos. RF09 Para poder realizar la creación de lotes, se debe identificar cada estanque
de la granja.
Tabla 6 Requisitos funcionales para la información a mostrar en reportes.
ID Descripción
RF10
Cuando se consulte un reporte del consumo de alimento, este debe realizarse por rango de fechas o por numero de lote, y mostrar todos los eventos de alimentación realizados.
RF11 Cuando se consulte un reporte sobre tratamientos veterinarios a la producción, este debe realizarse por numero de lote o por rango de fechas.
RF12
Cuando se consulte un reporte sobre la información general del ciclo de cultivo, este debe realizarse mostrando información de la trazabilidad ascendente e interna.
RF13
Tabla 7 Requisitos funcionales para el manejo del cultivo.
ID Descripción
RF14
Cuando el usuario entre a la pantalla principal, la interfaz de usuario debe ser simple, con menús para catálogos y reportes, y una lista que identifique los estanques de la granja para cambiar fácilmente entre estos.
RF15 Cuando seleccione el número de estanque y este no se encuentre activo, se debe solicitar con un modal, el alta de un nuevo lote.
RF16
En la vista de visualización de cada estanque, se debe mostrar el número de lote en producción, el total de alimento consumido, la cantidad de eventos de tratamientos veterinarios, el valor del último muestreo de crecimiento y la cantidad de Kg obtenidos de las cosechas parciales.
RF17
Cuando requiera dar de alta un evento del ciclo de cultivo, necesito hacerlo por medio de un botón en la pantalla de información del estanque seleccionado para capturar el tipo de evento y tratamiento aplicado a la producción del lote en curso.
RF18
En la vista de cada estanque, se debe tener una sección que opcionalmente, muestre una gráfica con los valores obtenidos de un sistema de monitoreo de calidad del agua.
4.1.1.2 Requisitos no funcionales
Tabla 8 Requisitos no funcionales del sistema.
ID Descripción
RNF01 El sistema debe apegarse a los requisitos de la norma ISO 16741:2015, que hacen referencia al registro de los procesos de la trazabilidad interna. RNF02 Se debe rentar un espacio de hosting para el alojamiento del sistema. RNF03 El sistema se debe ejecutar en cualquier navegador WEB.
4.1.2 Modelo de casos de uso
Para determinar las responsabilidades, limitaciones, y la forma de interacción de los actores con el sistema, se modelaron los casos de uso, donde se muestra de forma general la ejecución de las tareas a desempeñar con el sistema de información.
En la figura 10 se muestra el caso de uso general para el registro de información en el sistema, dependiendo de las responsabilidades de cada actor y las funciones a realizar.
Las figuras 11 y 12, muestran respectivamente, los casos de uso para la compra-venta del producto final y el registro de identificadores a utilizar en la generación de la trazabilidad.
Figura 11 Caso de uso para la compra-venta del producto final.
4.1.3 Diagramas de actividades con responsabilidades
Parte fundamental en este desarrollo fue el enfoque detallado al registro de los procesos de trazabilidad interna con el objetivo de garantizar la inocuidad del producto final. Para ello, se llevó a cabo la realización de los diagramas de actividades originados con base en las etapas del ciclo de cultivo establecidas en el manual de buenas prácticas acuícolas elaborado por Cuéllar et al. (2010), en función del caso de uso para generar trazabilidad.
Como se observa en las figuras 13, 14, 15 y 16, existen actividades especificas para cada etapa del cultivo acuícola, las cuales deben ser registradas en el sistema de información, para su posterior consulta, en cumplimiento de la norma ISO 16741:2015.
Figura 13 Diagrama de actividades durante la preparación del terreno.
Figura 15 Diagrama de actividades en el manejo de alimentación o medicación.
Figura 16 Diagrama de actividades en el manejo de calidad del agua.
Figura 17 Diagrama de actividades durante la cosecha.
4.2 Diseño
En esta etapa del desarrollo del proyecto, se realizó el proceso de modelado utilizando UML (Zhang et al., 2011), con el fin de realizar una descripción grafica de las características a implementar en el sistema de información, que de acuerdo con Kendall & Kendall, (2002), este proceso de diseño de software consiste en analizar los requisitos con el fin de producir una descripción de la estructura interna del software que sirva como base para su construcción. Esencialmente, se realizaron los modelos de clases, de datos, de interfaces, de navegación, de componentes y de despliegue; tal como se muestra de forma subsecuente.
4.2.1 Modelo de clases
El modelo de clases es representado mediante clases simbolizadas por medio de rectángulos, de los cuales, cada uno de estos contiene dos características elementales que son, los atributos (describen propiedades de la clase) y los métodos (acciones a realizar por la clase), lo cuál es característica básica de la programación orientada a objetos, tal como se muestra en la figura 18.
4.2.2 Modelo de datos
En lo que respecta al modelo de datos, se realizó la representación a través del modelo entidad-relación como se muestra en la figura 19. El cual muestra la relación que existe entre proveedores, clientes y procesos que integran la trazabilidad.
4.2.2.1 Diccionario de datos
Tabla 9 Entidad correspondiente al catálogo de razas o especies a producir.
breed
Nombre Tipo PK NN UN AI Default
breed_code tinyint ✔ ✔ ✔ ✔
lab_code tinyint ✔ ✔
breed_description varchar(45) ✔
Tabla 10 Entidad correspondiente al catálogo de clientes.
client
Nombre Tipo PK NN UN AI Default
client_id int ✔ ✔ ✔ ✔
client_rfc varchar(13) ✔ client_name varchar(50) ✔ client_address varchar(45) ✔ client_postal_code varchar(5) ✔
client_city varchar(45) ✔ 'Manzanillo' client_state varchar(20) ✔ 'Colima' client_country varchar(20) 'México' client_phone varchar(12)
Tabla 11 Entidad correspondiente a la relación entre lotes y ventas.
client_at_batch
Nombre Tipo PK NN UN AI Default
client_id int ✔ ✔ ✔
batch_id bigint ✔ ✔ ✔
sale_date timestamp current_timestamp
kg_sold float ✔
Tabla 12 Entidad correspondiente al catálogo de tipos de evento.
event_type
Nombre Tipo PK NN UN AI Default
event_type_code tinyint ✔ ✔ ✔ event_type_description varchar(60) ✔
Tabla 13 Entidad correspondiente al registro de eventos de alimentación y medicación.
feeding_medication_event
Nombre Tipo PK NN UN AI Default
event_id bigint ✔ ✔ ✔
batch_id bigint ✔ ✔
Tabla 14 Entidad correspondiente al catálogo de laboratorios.
laboratory
Nombre Tipo PK NN UN AI Default
lab_code tinyint ✔ ✔ ✔ ✔
lab_name varchar(50) ✔ lab_address varchar(60) ✔ lab_phone varchar(10) ✔ lab_contact varchar(50) ✔
lab_create_time timestamp current_timestamp
Tabla 15 Entidad correspondiente a la información de lotes en producción.
batch
Nombre Tipo PK NN UN AI Default
batch_id bigint ✔ ✔ ✔ ✔
pond_id tinyint ✔ ✔
lab_code tinyint ✔ ✔
breed_code tinyint ✔ ✔
start_datetime timestamp current_timestamp larvae_planted mediumint ✔ ✔
Tabla 16 Entidad correspondiente al catálogo de estanques.
pond
Nombre Tipo PK NN UN AI Default
pond_id tinyint ✔ ✔ ✔ ✔
pond_length float ✔ ✔
pond_width float ✔ ✔
pond_height float ✔ ✔
pond_status bit
Tabla 17 Entidad correspondiente al registro de actividades en la preparación del terreno.
pond_preparation
Nombre Tipo PK NN UN AI Default
batch_id bigint ✔ ✔ ✔
pond_drained bit
pond_drying bit
pond_materials_extraction bit pond_sediment_manageme
nt
bit
pond_lime_application bit
pond_breaking bit
pond_filling bit
pond_end_preparation_dat etime
Tabla 18 Entidad correspondiente al catálogo de productos.
product
Nombre Tipo PK NN UN AI Default
product_id int ✔ ✔ ✔ ✔
supplier_id tinyint ✔ ✔
product_name varchar(40) ✔ product_instruction text ✔
Tabla 19 Entidad correspondiente a la relación de productos utilizados en los tratamientos.
product_treatment
Nombre Tipo PK NN UN AI Default
product_id int ✔ ✔ ✔
treatment_code tinyint ✔ ✔ ✔ product_dosage float ✔
Tabla 20 Entidad correspondiente al registro del muestreo realizado durante el ciclo de cultivo.
sampling_event
Nombre Tipo PK NN UN AI Default
sampling_event_id bigint ✔ ✔ ✔
batch_id bigint ✔ ✔
sampling_event_date date ✔
sample_size float ✔ ✔
Tabla 21 Entidad correspondiente de los valores sensados por un sistema de monitoreo.
sensed_values
Nombre Tipo PK NN UN AI Default
sensed_values_datetime timestamp ✔ ✔ current_timestamp
pond_id tinyint ✔ ✔
batch_id bigint ✔ ✔
oxygen_value float ✔
ph_value float ✔
salinity_value float ✔ temperature_value float
Tabla 22 Entidad correspondiente al catálogo de proveedores.
supplier
Nombre Tipo PK NN UN AI Default
supplier_id tinyint ✔ ✔ ✔
supplier_rfc varchar(13) ✔ supplier_name varchar(50) ✔ supplier_address varchar(45) ✔ supplier_postal_code varchar(5) ✔ supplier_city varchar(45) ✔ supplier_state varchar(20) ✔ supplier_country varchar(20) supplier_phone varchar(12) supplier_url varchar(45)
Tabla 23 Entidad correspondiente al catálogo de tratamientos.
treatment
Nombre Tipo PK NN UN AI Default
treatment_code tinyint ✔ ✔ ✔ treatment_description varchar(60) ✔
Tabla 24 Entidad correspondiente al catálogo de usuarios.
user
Nombre Tipo PK NN UN AI Default
usr_id tinyint ✔ ✔ ✔
usr_type_code tinyint ✔ usr_name varchar(45) ✔ usr_password varchar(16) ✔ usr_phone varchar(10) usr_blood_type varchar(3) usr_imss varchar(10)
usr_create_time timestamp current_timestamp
Tabla 25 Entidad correspondiente a la relación entre los usuarios y los eventos realizados.
user_at_event
Nombre Tipo PK NN UN AI Default
event_id bigint ✔ ✔ ✔
Tabla 26 Entidad correspondiente al catálogo de tipos de usuario.
user_type
Nombre Tipo PK NN UN AI Default
user_type_code tinyint ✔ ✔ ✔ user_type_description varchar(45) ✔
4.2.3 Modelo de interfaces
El modelado de interfaces, como se muestra en las figuras 20 a 25 del punto 4.2.3, se realizaron en conformidad con lo mencionado por Pressman (2009), donde señala que la manera en la que los datos fluyen entre los componentes de un sistema tiene mucho que ver con la eficiencia del procesamiento, la propagación del error y la simplicidad del diseño. Una interfaz bien diseñada hace que la integración sea más fácil y ayuda a quien la somete a prueba a validar las funciones componentes.
Figura 21 Modelado de la interfaz de pantalla principal.
Figura 23 Modelado de la interfaz de catálogos.
Figura 25 Modelado de la interfaz de consulta de reportes.
4.2.4 Diagrama de navegación
El diagrama de navegación describe el orden en que se interactúa durante la ejecución de la aplicación. Como se puede observar en la figura 26, un grafo dirigido entre dos nodos (simbolizados por ventanas) representa una transición de una ventana a otra.
La interacción entre pocas ventanas, beneficia en agilizar el proceso de captura de todos los datos pertinentes dentro del ciclo de cultivo acuícola; de tal manera, los operadores del sistema de información, pueden realizar la captura a través de un dispositivo móvil que tenga instalado un navegador WEB.
Figura 26 Diagrama de navegación entre las interfaces principales del sistema de información.
4.2.5 Modelo de despliegue
En la figura 27 se muestra el modelo de despliegue del sistema de información, donde se puede observar con claridad el encadenamiento de cada subsistema necesario para la captura o consulta de los datos.
Figura 27 Modelo de despliegue del sistema de información.
4.2.5 Modelo de componentes
En la figura 28 se observa la forma en que cada componente del sistema de información se relaciona entre si, como una vista superficial de la arquitectura empleada.
4.3 Implementación
Una vez aprobado el modelado requerido, se procedió con la construcción del sistema a partir de los modelos realizados, es decir, se comenzó la codificación con lo establecido en el modelo de clases y el modelo de datos. Para esto, se utilizaron las herramientas: CodeIgniter WEB Framework, Metronic – Responsive Admin Dashboard Template y phpMyAdmin; para la implementación del backend, frontend y base de datos MariaDB respectivamente.
En el punto siguiente se puede observar segmentos del código fuente correspondientes a vistas y controladores utilizados, en los cuales se muestra parte de la funcionalidad del sistema. De la misma forma, se muestra ciertos segmentos de la codificación de la base de datos para la creación de las tablas.
En lo que respecta a la parte de transición, esta se realizó a través del uso de un servicio de hosting, en el cual se realizaron las modificaciones necesarias para la correcta ejecución del sistema, como son las modificaciones de variables en el framework para su correcto despliegue en el dominio, al igual que la configuración necesaria para la correcta comunicación con la base de datos. Además, se realizaron pruebas de estabilidad para comprobar que las especificaciones técnicas del servicio contratado eran las adecuadas.
4.3.1 Codificación
4.3.1.1 Segmento de código del controlador principal
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Dashboard extends CI_Controller { public function __construct() {
public function index() {
$data = '';
$eventsDropdownOptions = '<option>Indique el evento</option>';
$queryToGetEvents = $this->db->query('SELECT * FROM event_type ORDER BY event_type_description');
foreach ($queryToGetEvents->result() as $row) {
$eventsDropdownOptions.= '<option
value="'.$row->event_type_code.'">'.trim($row->event_type_description).'</option>'; }
$data['eventsType'] = $eventsDropdownOptions;
$pondsDropdownOptions = '<option>Seleccione un estanque</option>';
$queryToGetPonds = $this->db->query('SELECT * FROM pond WHERE pond_status = 1 ORDER BY pond_id');
foreach ($queryToGetPonds->result() as $pondRow) {
$pondsDropdownOptions.= '<option value="'.$pondRow->pond_id.'">'.trim($pondRow->pond_id).'</option>';
}
$data['ponds'] = $pondsDropdownOptions;
$clientsDropdownOptions = '<option>Seleccione cliente</option>'; $queryToGetClients = $this->db->query('SELECT client_id, client_name, client_city FROM client ORDER BY client_name');
foreach ($queryToGetClients->result() as $clientRow) {
$clientsDropdownOptions.= '<option value="'.$clientRow->client_id.'">'.trim($clientRow->client_name).' ['.trim($clientRow->client_city).']</option>';
}
$data['clients'] = $clientsDropdownOptions;