Un sistema de trazabilidad basado en web para la genética de ganado en Panamá

A web-based traceability system for cattle genetics in Panamá

Vladimir Villarreal

Universidad Tecnológica de Panamá
[email protected]

Abner Caballero

Universidad Tecnológica de Panamá
[email protected]

Resumen– La trazabilidad es la capacidad de verificar la historia, la ubicación, o la aplicación de un elemento por medio de la identificación documentada grabada. Una de las muchas ventajas en la aplicación de la trazabilidad en el sector ganadero es que podemos certificar el origen de los animales; esto mejora la credibilidad y garantiza su calidad. Con la aprobación de las leyes de trazabilidad en Panamá hay una necesidad de herramientas tecnológicas que permitan mantener los registros de trazabilidad actualizados y accesibles. Este proyecto fue desarrollado como una solución y apoyo al ganadero de contar con tecnología oportuna para mejorar los procesos asociados con la trazabilidad pecuaria, registro oportuno y en tiempo real del ganado a través de un sistema de información.

Palabras claves– Ingeniería de Software, Modelado Ágil, Servicios Web, Trazabilidad.

Abstract– Traceability is the ability to verify the history, location, or application of an item by means of documented recorded identification. One of the many advantages in the application of traceability in the livestock sector is that we can certify the origin of animals; this improves credibility and guarantee its quality. With the approval of laws traceability in Panama there is a need for technological tools to keep records updated and accessible traceability. This project was developed as a solution and support for the livestock for timely technology to improve processes associated with livestock traceability, timely recording and real-time cattle in a information system.

Keywords– Software Engineering, Agile Modeling, Web Service, Traceability.

1.Introducción

La trazabilidad se define como la habilidad para rastrear la historia, aplicación o localización de un elemento por medio de identificaciones registradas [1]. Entre las ventajas que ofrece la trazabilidad están los beneficios y mejoras de negocio como por ejemplo: mayor eficiencia en procesos de producción, menores costes ante fallos, mejor servicio a clientes, etc. [2].

La implementación de la trazabilidad en el sector agropecuario contribuye a mejorar la sanidad animal y la inocuidad de los alimentos. Permite identificar el origen y mantener un registro de todos los procesos tanto sanitarios como de manufacturación que se han realizado. El hecho de poder seguir el rastro de toda la vida útil de un producto aumenta la seguridad y la credibilidad del mismo. De este modo se garantiza la calidad de los alimentos y se aprueban como aptos para el consumo [3].

En la sociedad globalizada en que vivimos, para exportar nuestros productos hacia otros mercados es necesario adecuarnos a estas prácticas y estándares [4]. La aplicación de la trazabilidad en los alimentos se ha convertido en un requisito fundamental para garantizar la seguridad alimentaria; es responsabilidad del estado velar por la inocuidad de los alimentos consumidos en el territorio nacional, tanto como los destinados a la exportación.

Por este motivo, en Panamá se ha aprobado el proyecto de Ley No. 342 de Trazabilidad Pecuaria, que permite que los productores, comerciantes y consumidores conozcan la trayectoria del animal desde su nacimiento hasta que se convierte en alimento [5], a través de la implementación de sistemas que permitan rastrear un animal desde su origen-destino, así como todos los controles sanitarios a los que se sometió [6].

La Asociación de Productores de Ganado Lechero de Panamá (APROGALPA) es un gremio no lucrativo, creado para velar por los intereses de los productores de leche de todo el país, el mejoramiento de las razas y productividad lechera. Que tiene como uno de sus objetivos impulsar el uso de ganado mejorado y seleccionado por parte de todos los productores de leche del país. Para este propósito mantiene una base de datos con la información de sus asociados que permite rastrear su ganado bovino y expedir un certificado de registro que garantice su origen [7].

El objetivo principal de este trabajo consiste en el diseño, desarrollo e implementación de un sistema que optimice los procesos de trazabilidad asociados al registro de ganado en APROGALPA, mediante el uso de tecnologías basadas en la Web. Esto permite a los productores estar más involucrados en todas las fases del proceso de traza de su ganado. Se ha hecho un aporte al campo de los sistemas de información, aplicando tecnología en el sector ganadero, a través del proceso de trazabilidad que se está implementando en nuestro país. Este sistema aporta grandes beneficios en todo este proceso que actualmente no cuenta con sistemas adaptables y que faciliten el almacenamiento, procesamiento y actualización de datos que poteriormente pueden utilizarse para generación de indicadores o estadísticas acorde a las necesidades del sector ganadero. Podemos integrar los datos del sistema con los registros generados desde los lectores de aretes de almacenamiento de perfil del ganado, a través del registro generado por el sistema.

2. Conceptualizando la trazabilidad

Según el artículo No. 3 del Reglamento Europeo 178/2002 "la trazabilidad es la posibilidad de encontrar y seguir el rastro, a través de todas las etapas de producción, transformación y distribución, de un alimento, un pienso, un animal destinado a la producción de alimento o una sustancia destinados a ser incorporados en alimentos o piensos o con probabilidad de serlo" [8].

En la Norma ISO 8402 se especifica que "la trazabilidad o rastreabilidad es la habilidad para rastrear la historia, aplicación o localización de un elemento por medio de identificaciones registradas" [9].

Por su parte, en Panamá, el Artículo 4 del proyecto de Ley que establece el Programa Nacional de Trazabilidad Pecuaria define trazabilidad o rastreabilidad como la "capacidad para identificar el origen del producto y las actividades realizadas a través de una o varias etapas especificadas de su producción y transformación hasta la entrega del producto al consumidor" [5].

Basándonos en las definiciones anteriores podemos decir que la trazabilidad consiste en tener un registro de un producto que nos permitirá conocer su materia prima, además de los lugares y procesos por los que ha pasado desde su origen, hasta su destino final.

Por esa misma estructura, podemos clasificar la trazabilidad en tres bloques principales [2].

La "trazabilidad hacia atrás" que corresponde con saber el origen de cada producto o componente.
La "trazabilidad de proceso" que consiste en saber la composición detallada de cada elaborado.
La "trazabilidad hacia delante" que se basa en saber a qué clientes has enviado cada lote de producto que has servido desde tu empresa.

La Asociación de Productores de Ganado Lechero de Panamá (APROGALPA) hace uso de una aplicación de trazabilidad hacia atrás mediante un registro de los productores de la región, sus fincas y la genética de sus animales.

Este registro permite mantener un control sobre el ganado mejorado garantizando el valor del animal y evitando problemas como el de la consanguinidad que podría darse con las futuras crías de ganado.

3. Análisis del problema

Presentamos un análisis detallado del problema detectado en el registro del ganado bovino en Panamá.

3.1 Definición del problema

Debido a que en los últimos años se vienen usando masivamente los toros padres más populares en el mercado, hay un riesgoso potencial incremento de consanguinidad, a menos que los criadores activamente eviten el apareamiento entre parientes cercanos.

La consanguinidad es el apareamiento entre animales que tienen uno o más antepasados en común. Cuanto más cercano sea el parentesco, mayor será la consanguinidad en la progenie resultante.

La consanguinidad puede utilizarse para producir individuos superiores, sin embargo, el riesgo es que ocurra una depresión por consanguinidad o que se junten genes recesivos indeseables. La pérdida resultante de esta estrategia puede ser muy alta, pues como esta clase de genes indeseables se expresa en la descendencia, en esta habrá que aplicar un alto descarte.

Es por esto que la consanguinidad ofrece pocos beneficios económicos para los productores comerciales [10].

En APROGALPA, se ha llevado un registro con la raza, los parientes, el propietario del animal, entre otros. Sin embargo, debido a la antigüedad del mismo existen muchas limitaciones que impiden llevar un control adecuado de la trazabilidad ni el seguimiento que se desea con respecto a la consanguinidad y genética del animal. Esta aplicación carece de interfaces de usuario amigables, no es adaptable a dispositivos móviles y carece de módulos para actualización del árbol genealógico del ganado desde bases de datos externas, entre otras.

La aplicación, además carece de soporte técnico en actualización de registros y de migración y actualización de datos lo que conlleva a que se registren datos erróneos o repetidos.

3.2 Solución propuesta

Se propone el desarrollo de un sistema de almacenamiento, procesamiento y presentación de datos con un entorno Web, que permita el acceso tanto a los empleados de APROGALPA como a sus asociados. Al ser una aplicación accesible mediante Web, debe tener un diseño adaptable para ser usado correctamente tanto en computadoras personales como en dispositivos móviles.

El sistema consistirá de un portal con dos secciones, una sección donde el empleado realizarán los registros de nuevos ganados y la generación de los certificados correspondientes, y por el otro lado una sección para los productores donde el asociado podrá ver sus propios registros. Mediante un sistema de roles-permisos, se controla el acceso a las distintas funciones del sistema.

El sistema registrará la información en una base de datos y se creará un módulo que maneje las funciones de crear, leer, actualizar y borrar (por sus siglas en inglés CRUD Create, Read, Update & Delete”) en cada uno de los modelos de datos principales.

4. Materiales y métodos

Para el desarrollo del sistema se eligió una metodología de desarrollo ágil, al considerarse la más acorde con el tipo de proyecto. Agile Modelling (AM) es una metodología basada en la práctica para una documentación y modelado efectivo de sistemas software [11]. AM no es una metodología completa, sino más bien una colección de valores, principios y prácticas que conllevan a un modelado ligero efectivo.

Agile Model Driven Development AMDD es, como su nombre lo implica, la versión ágil del Model Driven Development MDD [12]. Mientras en el MDD radicional se crean modelos complejos antes de empezar la fase de codificación, en AMDD e crean modelos ágiles que son lo suficientemente buenos para describir el desarrollo en general como podemos apreciar en el ciclo de desarrollo (figura 1).

image

Figura 1. AMDD en el ciclo de desarrollo ágil.

Una de las ventajas de la metodología AMDD y el motivo principal de su elección en este proyecto es que, al desarrollar solamente los modelos necesarios, se dedica más tiempo a la codificación y pruebas de software. Este cambio con respecto a las metodologías tradicionales acelera el desarrollo y aumenta la productividad.

En la especificación de la metodología se detallan todos los modelos que se recomiendan para cada una de las fases del desarrollo. La implementación final de la metodología incluye los modelos de casos de uso, tarjetas CRC (Class-Responsibility-Collaboration) y casos de prueba para cada uno de los componentes del sistema.

Uno de los fundamentos básicos de AMDD es Test- Driven Development (TDD), que consiste en crear un caso de prueba primero, luego crear un código que complete la prueba satisfactoriamente y refactorizar de ser necesario. Este método de desarrollo, permite tener un código limpio y programar solo las funciones necesarias para el sistema.

Esta es una metodología muy práctica a la hora de tener que diseñar modelados y documentación, ya que proporciona información de cómo poder realizarlos de una manera ágil, logrando entregar modelos y documentos que realmente sean de importancia para el usuario y eliminando los datos que sean innecesarios. En el punto 4.4 de este artículo se detalla el uso o implementación de AM.

4.1 Patrones de arquitectura y diseño

Los patrones arquitectónicos y de diseño utilizados están basados en el framework ediante el cual se construyó la aplicación y siguiendo los principios SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) ara el desarrollo de software SOLID hace referencia a los cinco principios de diseño orientado a objeto creado por Robert C. Martin. El uso de estos principios hacen que nuestra aplicación sea fácil de mantener y actualizar con el tiempo.

4.1.1 Modelo-Vista-Controlador (MVC)

Es un patrón de arquitectura de software encargado de separar la lógica de negocio de la interfaz del usuario en tres componentes distintos y es el más utilizado en aplicaciones Web. En la figura 2 se detalla el funcionamiento de este patrón, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es la abstracción de la Base de Datos y la Lógica de negocio y el controlador es el responsable de recibir los eventos de entrada desde la vista [13].

Los modelos representan los datos de la aplicación, las relaciones de estos datos y las reglas que deben seguir los controladores para manipularlos. Cada entidad del diagrama Entidad-Relación de la figura 3 corresponde una tabla de la Base de Datos, y esta a su vez, a un modelo del sistema.

image

Figura 2. Arquitectura MVC.

4.1.2 Arquitectura basada en componentes

Se enfoca en la descomposición del diseño en componentes funcionales o lógicos que expongan interfaces de comunicación bien definidas. Esto provee un nivel de abstracción mayor que los principios de orientación por objetos y no se enfoca en asuntos específicos de los objetos como los protocolos de comunicación y la forma como se comparte el estado [14]. El sistema desarrollado se ha divido en diferentes componentes, lo que facilita su desarrollo y posterior mantenimiento.

4.2 Lenguajes utilizados

Se han utilizado los lenguajes y tecnologías más comunes en el desarrollo web, lo que facilita el desarrollo en las secciones back-end y front-end. El desarrollo de cada sección está basado en las definiciones de la distribución de los elementos propuestos en el Modelo-Vista-Controlado (MVC), lo que permite clasificarlos en las secciones descritas previamente. Luego de la distribución en MVC, se procede a la definición de cada componente según los patrones de arquitectura y diseño definidos por SOLID.

4.2.1 Back-end

Para el desarrollo del sistema se ha elegido el framework para el lenguaje de scripting PHP Laravel, en su versión 5.1. Este framework de código abierto es el de mayor aceptación actualmente para este lenguaje, gracias a su simplicidad en la sintaxis, su motor de plantillas incorporado, y la potencia para su manejo y de sus muchos complementos.

4.2.2 Front-end

Se utilizan los lenguajes estándar de desarrollo Web que son HTML5, CSS3 y Javascript. La interfaz de usuario está diseñada con framework Bootstrap, que nos brinda un desarrollo rápido, intuitivo y fácilmente adaptable para todas las interfaces.

Se implementó librerías en javascript como los son select2 y restive.js para garantizar que el diseño se mantenga adaptable. En la figura 3 podemos ver un selector tal y como se vería en un navegador de escritorio, utilizando la librería select2 para mejorar el diseño y agregar un buscador. En la figura 4 vemos como el mismo selector cambia para utilizar el nativo del navegador y simplificar la experiencia de uso en pantallas táctiles.

image

Figura 3. Selector con el plugin select2 (escritorio).

image

Figura 4. Selector en Firefox para Android (móvil).

4.3. Otras herramientas utilizadas

En las pruebas del sistema se han realizado en el servidor HTTP de código abierto Apache. Para el sistema de gestión de base de datos se eligió MariaDB, un derivado libre de mySQL mantenido por la comunidad de software libre. Además, que es posible utilizar cualquier gestor de base de datos compatible con el framework Laravel. Uno de los elementos más significativos en el desarrollo de este sistema es que está totalmente desarrollado sobre tecnologías no propietarias.

4.4 Proceso de desarrollo

El procedimiento para implementar el nuevo sistema de registro de APROGALPA se realizó siguiendo los pasos del desarrollo de software mediante la metodología AM.

En la primera fase del desarrollo (iteración 0) se inició programando reuniones con el cliente para identificar los requisitos principales del sistema. Y estudiando las funciones y debilidades del sistema de registro que se utilizaba anteriormente.

Con este análisis se identificaron los actores principales del sistema y se realizaron los primeros casos de uso e historias de usuario.

Luego de analizados los requerimientos se empezó el diseño de la arquitectura del sistema mediante el desarrollo de un modelo Entidad-Relación para los datos (figura 5).

Los siguientes pasos según el ciclo de desarrollo AMDD corresponden a las iteraciones del ciclo de desarrollo, estas iteraciones se dividieron según las principales características que se identificaron para el sistema.

Para cada iteración se siguieron los pasos especificados según la metodología AM. Estos van desde la planificación de las tareas de cada iteración, hasta la creación de los artefactos y el desarrollo de los componentes de software.

image

Figura 5. >Modelo Entidad-Relación del sistema desarrollado.

5. Características de la propuesta

A continuación, se detallan cada una de las características principales y sus definiciones identificadas, para tener un mayor entendimiento del funcionamiento de las mismas. Estas características corresponden con los módulos principales del sistema.

5.1 Usuarios

Un usuario e el actor que interactúa directamente con el sistema una vez que se hayan superado las fases de desarrollo correspondientes, con el objeto de consultar, modificar o eliminar la información gestionada por el mismo.

Para que un usuario acceda al sistema (figura 6) debe ser registrado por un administrativo de APROGALPA. El usuario posteriormente a través de su número de cédula accede al sistema y registra una dirección de correo electrónico (si no se especificó antes) y una contraseña de acceso. En caso de pérdida de contraseña un administrativo puede restaurar la cuenta para que el usuario pueda activar su cuenta nuevamente.

image

Figura 6. Pantalla de inicio de sesión.

Para su registro es necesario saber el nombre, cédula y dirección. Los datos opcionales son el número de teléfono, celular, fax, correo electrónico, correo postal y fecha nacimiento.

5.1.1 Roles

El rol es el papel que cumple un usuario dentro de un componente y que limita el conjunto de funcionalidades que puede desempeñar en ese ámbito dentro del sistema.

image

Figura 7. Administración de cuentas.

Existen cuatro niveles asociados a los roles, que detallan los distintos permisos de acceso en el sistema. Estos niveles son los siguientes:

Nivel 1: Es el usuario no administrativo que tiene acceso a los registros asociados a su propia cuenta.

Nivel 2: Corresponde a un empleado de la asociación que puede ver todos los registros, así como crear y actualizar los mismos

Nivel 3: Puede aprobar un nuevo registro para permitir la generación del certificado, eliminar registros.

Nivel 4: Puede cambiar los roles, actualizar o cambiar el nivel de acceso de la cuentas.

Un usuario administrativo puede restaurar contraseñas y cambiar roles de los usuarios de menor nivel al suyo, desde la pantalla de administración de cuentas (figura 7).

5.2 Fincas

La finca es la propiedad, oficialmente registrada en el cual se cría el ganado bovino. Cada finca tiene asignada un criador para los animales que puede ser otro productor registrado o propietario de la misma.

En la pantalla de administración de fincas el encargado puede editar los datos y ver los animales con certificado de dicha finca (figura 8).

Para registrar una finca es necesario saber el nombre, código, dirección; además de un propietario y criador previamente registrados.

5.3 Catálogos

Conjunto de datos referente a los padres genéticos de los animales, o sementales que se adquieren mediante los proveedores especializados.

Para su registro es necesario saber el código, nombre, sexo, raza, porcentaje de raza y el proveedor y la dirección web del catálogo donde se encuentra.

image

Figura 8. >Administración de fincas.

5.3.1 Proveedor

Un proveedor es la empresa dueña de los catálogos de animales y que se encarga de su venta y distribución. En la figura 9 se muestra la sección de administración de proveedores donde se agregan o editan los mismos. Secciones similares existen para administrar razas y colores de los animales.

image

Figura 9. >Administración de proveedores.

Para registrar una finca es necesario saber el nombre y la dirección de su sitio Web.

5.3.2 Buscador

Un buscador es un componente de la aplicación que se conecta a los catálogos en línea de ciertos proveedores y recupera la información del animal (cuando esté disponible) para automatizar el registro.

En la figura 10 vemos la pantalla de registro con información extraída desde el buscador (el historial genético incluido aunque no visible). En caso que no se encuentre toda la información se extraerá lo más posible y mostrará el error correspondiente.

Este servicio se desarrolló tomando en consideración los catálogos de los tres proveedores más populares del país. Al depender del catálogo en línea de un tercero, es posible que requiera un mantenimiento por futuros

cambios en estos, para garantizar su funcionamiento constante.

image

Figura 10. Registro de ganado (extranjero).

5.4 Certificados

Un certificado es un conjunto de datos de un animal determinado que se crea de forma automática durante el proceso de registro. El mismo contiene la información básica, el historial genético del animal y la finca a la que pertenece.

En la figura 11 se muestra la pantalla de administración de certificados desde la cuenta de administrador de sistema (rol de nivel 4). Se puede observar el botón de para aprobar certificados y el área de notificación de certificados pendientes los cuales un registrador (rol de nivel 2) no tendría.

Para cada ganado bovino en el sistema se debe imprimir un certificado de registro como constancia del origen del animal; además de un certificado de transferencia cuando sea requerido. Debe ser posible visualizar la genealogía del animal hasta al menos sus bisabuelos, se muestra en color azul el nombre de los ancestros machos y en color rojo en el caso de las hembras (figura 12).

image

Figura 11. Administración de certificados.

Para su registro es necesario saber el código, número de registro, nombre, sexo, raza, porcentaje de raza, método de nacimiento, finca a la que pertenece, padre, madre, fecha de nacimiento, fecha de registro y color. Los datos opcionales son la foto del animal, el color de la nariz y orejas.

image

Figura 12. Árbol genealógico de ganado bovino según raza.

6. Implementación del sistema

Luego de definidos los requerimientos de programación y desarrollo y de definidos los elementos de diseño, se procedió a la implementación del sistema, basado en los lenguajes de programación explicados y las tecnologías adoptadas.

7. Resultados de la investigación

La automatización de todos los servicios de registro de ganado lechero, permitió la estandarización de los procesos en cuanto a captura, procesamiento y almacenamiento de datos del histórico de ganado lechero. A continuación, se listarán algunos resultados obtenidos en el desarrollo de este proyecto, así como los principales beneficios de su implementación.

Durante este proyecto se optimizó la visualización de la información mediante una interfaz gráfica intuitiva y adaptable a cualquier tamaño de pantalla.

Al estar basado en la Web permite el acceso desde cualquier lugar con una conexión a Internet y desde cualquier dispositivo con un navegador activo.

Se ha acelerado el proceso de registro con buscador de sementales desarrollado para encontrar la información en los principales proveedores del país.

Se ha facilitado y reducido el tiempo en el que se realiza el proceso de aprobación mediante notificaciones de los nuevos registros pendientes de aprobar.

Se ha involucrado a los productores asociados a ser parte del proceso.

El productor tiene acceso a los certificados del animal inmediatamente después de su aprobación y ver su estado actual.

El sistema facilita la detección de problemas de consanguinidad con los animales, mostrando de forma clara la genética de los mismos; esto ayuda al mejoramiento a futuro del ganado en el país.

Se ha eliminando la necesidad de edición manual de los certificados y muchos otros problemas más, que se presentaban con el sistema anterior, automatizando todo el proceso en base a un único registro.

Se ha ofrecido una solución tecnológica al sector agroindustrial, específicamente al área ganadera, aunque el sistema desarrollado se puede adaptar fácilmente a otras áreas en donde se quiera registrar algún animal de crianza.

8. Conclusiones y trabajos futuros

El desarrollo de todos los componentes de este proyecto ha sido posible mediante el uso exclusivo de tecnologías libres de código abierto; al no tener que pagar licencias privativas se reduce en gran medida el costo de implementación.

Al utilizar una metodología de desarrollo tan flexible como lo es AMDD fue posible enfocarse en la codificación del sistema sin descuidar los modelos y la documentación.

Al programar con TDD se reduce la cantidad de código de la implementación final, y el código extra generado para los casos de prueba se convierte en un modelo más del sistema. Como resultado el código es modular, flexible y extensible.

Este sistema es modular y extensible al estar desarrollado con una arquitectura basada en componentes, de forma que se pueden incluir fácilmente mejoras, nuevas funciones o correcciones en el futuro.

El sistema desarrollado es genérico, adaptable y móvil lo que permite su integración no sólo para entorno de ganado bovino sino de otras áreas y su implementación y puesta en marcha es fácilmente adaptable en cualquier ámbito fuera de país. Con esto se hace un aporte en el área de desarrollo especialmente para el sector ganadero que tiene que adaptar sus tecnologías a la exigencias internacionales en cuanto a la traza de ganado, para ofertar productos de calidad y fácil de exportar a otros países.

Se facilita el intercambio de datos entre las asociaciones productoras, el Ministerio de Desarrollo Agropecuario, el Instituto de Desarrollo Agropecuario y el productor final para tener datos que permitan la generación de indicadores y estadísticas para futuros proyectos.

9. Agradecimientos

Agradecimiento especial al Sistema Nacional de Investigación (SNI) de la Secretaría Nacional de Ciencia, Tecnología e Innovación (SENACYT) por el apoyo financiero en el desarrollo de este proyecto. A la Asociación de Productores de Ganado Lechero de Panamá (APROGALPA) por facilitarnos la documentación requerida para el desarrollo, implementación y puesta en marcha del sistema.

10. Referencias

[1] Trazabilidad Panamá. Definición de Trazabilidad [en línea], http://www.trazabilidadpanama.org/Generales/queestrazabilida d.aspx [Consulta: 18 noviembre 2015].

[2] Hansen, S. Portal Internacional de la Trazabilidad. ¿Qué significa realmente Trazabilidad? [en línea], http://www.gestiontrazabilidad.com/normativa.php [Consulta: 10 noviembre 2015].

[3] Agencia Española de Seguridad Alimentaria y Nutrición. Guía para la Aplicación del Sistema de Trazabilidad en la Empresa Agroalimentaria [en línea], http://aesan.msssi.gob.es/AESAN/ docs/docs/publicaciones_estudios/seguridad/Trazabilidad1.pdf [Consulta: 10 octubre 2015].

[4] AgroMeat. Falta de trazabilidad castiga las exportaciones de Panamá [en línea], http://www.agromeat.com/110163/falta-detrazabilidad-castiga-las-exportaciones-de-panama [Consulta: 18 Abril 2015].

[5] Gaceta Oficial Digital No. 27420. Panamá. Ley Nº 104 de 21 de noviembre de 2013 que crea el Programa Nacional de Trazabilidad o Rastreabilidad Pecuaria [en línea], http://www.gacetaoficial.gob.pa/pdfTemp/27420/44465.pdf [Consulta: 15 junio 2015].

[6] Ministerio de Desarrollo Agropecuario. Convocatoria para el Curso de Habilitación de Operadores de Trazabilidad Bovina [en línea], http://www.mida.gob.pa/direcciones_id_2836.html [Consulta: 6 febrero 2015].

[7] Asociación de Productores de Ganado Lechero de Panamá. Objetivos APROGALPA [en línea], http://www.aprogalpa.com/index.php/objetivosaprogalpa [Consulta: 10 marzo 2015].

[8] Diario Oficial de la Comunicades Europeas. Reglamento (CE) nº 178/2002 del Parlamento Europeo y del Consejo, de 28 de enero de 2002, por el que se establecen los principios y los requisitos generales de la legislación alimentaria, se crea la Autoridad Europea de Seguridad Alimentaria y se fijan procedimientos relativos a la seguridad alimentaria [en línea], https://www.boe.es/buscar/doc.php?id=DOUE-L-2002-80201 [Consulta: 15 de noviembre de 2015].

[9] UNE-EN ISO 8402:1995. Gestión de la calidad y aseguramiento de la calidad. Vocabulario. (ISO 8402:1994) [en línea], http://www.aenor.es/aenor/normas/normas/fichanorma.asp?tipo=N&codigo=N0013715#.Vx9pSJPhBPM [Consulta: 18 de noviembre de 2015].

[10] Mariano Fernández (2005). Consanguinidad en bovinos, lo que necesita saber. 2005. DOI=http://www.produccionanimal.com.ar/genetica_seleccion_cruzamientos/bovinos_en_g eneral/70-consanguinidad.pdf

[11] Amblet, S. An Introduction to Agile Modeling [en línea], http://www.agilemodeling.com/essays/introductionToAM.htm [Consulta: 18 mayo de 2015].

[12] Amblet, S. Agile Model Driven Development (AMDD): The Key to Scaling Agile Software Development [en línea], http://agilemodeling.com/essays/amdd.htm [Consulta: 20 mayo de 2015].

[13] Pelaez, J. Arquitectura basada en Componentes. Extractado de La Guía de Arquitectura Versión 2.0a del grupo de Patterns and Practices de Microsoft [en línea] http://geeks.ms/blogs/jkpelaez/archive/2009/04/18/arquitectura -basada-en-componentes.aspx [Consulta: 17 junio 2015].

[14] devAcademy. #Laravel: Introducción y Conceptos básicos por @jlinformatico [en línea], http://blog.devacademy.la/post/94202131491/tutorial-laravelintroducció-y-conceptos [Consulta: 19 agosto 2015].