Issuu on Google+

DISEÑO E IMPLEMENTACION DEL SOFTWARE GANATOOL: UNA APLICACIÓN WEB PARA DE BALANCEO DE DIETAS PARA GANADO VACUNO CON PROPÓSITO CÁRNICO DE LA REGIÓN CARIBE COLOMBIANA

LEDYS VILLALBA PORTILLO DANIELA MUÑOZ DE LA ROSA CAMILO CERVANTES SALAZAR RANDY ESPITIA PETRO

MAG. DANIEL SALAS ALVAREZ

FACULTAD DE CIENCIAS BÁSICAS E INGENIERIAS PROGRAMA INGENIERIA DE SISTEMAS VII SEMESTRE

UNIVERSIDAD DE CÓRDOBA MONTERÍA 2010


INTRODUCCIÓN

La ganadería se remonta a nuestros antepasados indígenas, cuando al llegar los colonizadores trajeron consigo el ganado al cual ellos no estaban acostumbrados pues dependían su alimentación de la caza de animales silvestres, es así como al aprovechar los beneficios de tener animales de corral implementaron métodos para la crianza de estos y de esta manera aprovechar los recursos que estos brindaban, en el caso especial del ganado la carne, la leche y el cuero. La ganadería es una de las principales actividades económicas del departamento de Córdoba, que ha representado una fuente de desarrollo para sus habitantes, generando un sinnúmero de riquezas tanto a nivel cultural, económico y social, siendo pilar fundamental en el desarrollo socioeconómico de la región. Es por eso que basándose en esta necesidad de adquirir cada vez mas desarrollo y sostenibilidad, el ganadero minoritario precisa formas más económicas y viables que lo ayuden a conservar y mantener su trabajo, aplicando técnicas de alimentación en sus animales que le resulten cómodos y aprovechables, además de que nutran lo más posible su astado. El presente proyecto beneficia a ganaderos minoritarios y a veterinarios en cuanto a que estos pueden aprovechar la herramienta tecnológica GANATOOL, desarrollada por estudiantes y con ayuda de docentes de la universidad de Córdoba a través del programa de Ingeniería de Sistemas, que por lo general resulta difícil de conseguir en el mercado una herramienta similar cuando no se tienen los recursos económicos suficientes para tal fin.


CAPITULO I - Definición de la problemática

1.1 PLANTEAMIENTO DEL PROBLEMA El problema a resolver con este proyecto es el de ayudar a los ganaderos y campesinos dedicados a la cría de ganado con un programa que les permita obtener las dietas que necesitan sus animales para su óptimo desarrollo, pero que a la vez sean económicas, que se acomoden a su presupuesto pero que no dejen de ser la mejor opción de nutrición del ganado. La necesidad de una herramienta de esta naturaleza surge dentro del ámbito académico, en el cual, los estudiantes de Medicina Veterinaria y Zootécnia de la Universidad de Córdoba enfrentan la carencia de licencias de la principal herramienta de software usada actualmente en el área de la Veterinaria: Software Ganadero TP. Una licencia de este sistema cuesta más de 1'500.000 pesos, motivo por el cual la universidad no ha podido adquirir el producto dado que es una licencia por estación de trabajo. Esto ha traído como consecuencia, que los profesores y estudiantes tengan atrasos en el calendario académico, en el cual esta establecida la enseñanza del uso de la herramienta mencionada. Así mismo, los pequeños y medianos productores sufren una problemática similar ocasionada por el alto costo del producto. Enfrentan el dilema de adquirir el software o elaborar las dietas a partir de sus propias experiencias o de su veterinario de confianza. Cabe resaltar que la herramienta será usada por gente capacitada en Veterinaria, ya sea nutricionista, técnico en veterinaria o veterinario. Pero a su vez, los productores menores se ven beneficiados ya que no tienen que pagar el valor agregado que trae el uso del software privativo.


1.2 JUSTIFICACIÓN 1.2.1 Conveniencia Social La ganadería en la costa Caribe colombiana es una actividad económica de gran importancia, son muchos, desde pequeños ganaderos hasta grandes terratenientes quienes se dedican a esta actividad. La toma de decisiones con respecto al balanceo de dietas, por parte de los productores en Colombia y en la costa Caribe, que es donde se enfoca el proyecto, es difícil debido a la falta de información, a lo cual se suma el hecho de que la mayoría son pequeños productores, es decir poseen menos de 50 vacas, y el costo de una herramienta para la gestión de fincas ganaderas es alto por ser de tipo privativo. El buen manejo de una dieta balanceada en el ganado vacuno es una tarea importante para los ganaderos, tanto productores de leche como de carne. Existen por ejemplo periodos como son las épocas de verano que por la falta de lluvias los alimentos escasean lo que dificulta mas el manejo de la alimentación y donde sería de gran ayuda para los ganaderos una guía de cómo balancear la dieta del ganado y que productos serian útiles y beneficiosos para que su producción no se viera afectada. Es por eso que desarrollar una nueva herramienta software en este campo que fuera mas acorde con los recursos de los productores es muy viable y beneficioso en nuestro medio. La buena alimentación del ganado influye en la población dado que la carne es el principal alimento que acompaña los desayunos, almuerzos y cenas de la población en general. Por tal motivo, el productor debe cumplir con ciertas normas de calidad que están establecidas legalmente y que GANATOOL soporta plenamente. Además, una gestión de dietas inteligente le permite al productor obtener mayor utilidad dado que se busca minimizar al máximo los costos y a su vez cumpliendo con los requisitos nutricionales establecidos. 1.2.2 Conveniencia Tecnológica Al ser una aplicación web, la herramienta tiene ventajas adicionales en comparación a la aplicación de escritorio Software Ganadero TP. Estas ventajas tienen que ver con la interconectividad y el monitoreo constante de los datos del ganado, además la posibilidad de conformar una comunidad de usuarios que compartan conocimientos, técnicas, oportunidades, etc. Por otro lado, las personas que no cuentan con un computador, pueden acceder desde cualquier lugar y la información siempre estará disponible en todo momento.


1.2.3 Conveniencia Académica En el campo académico, éste proyecto nos permite poner en práctica los conocimientos adquiridos hasta el momento y también sirve de ejemplo para que los demás estudiantes tengan un modelo a seguir en el momento de desarrollar sus proyectos de software. Por otro lado, los veterinarios en formación y profesionales también se verán beneficiados con este proyecto, ya que éstos podrán usar la herramienta GANATOOL en sus actividades, trabajos o proyectos. 1.2.4 Conveniencia Investigativa En una región como la nuestra es importante que las carreras que existen puedan hacer estudios o investigaciones, y aplicar lo que se aprende para su uso en áreas que tengan influencia en nuestro entorno. Siendo esta una región ganadera, se hace necesario que la tecnología apunte a facilitar estos procesos. Proyectos como este pueden cambiar la forma de pensar de las personas en general y los aliente a realizar investigaciones que impliquen un compromiso serio y una investigación que dé como producto un desarrollo tecnológico que demuestre que si se puede.


1.3 OBJETIVO GENERAL - Diseñar e implementar una aplicación web que gestione el proceso de balanceo de dietas de ganado vacuno de propósito cárnico con minimización de costos.


1.4 OBJETIVOS ESPECÍFICOS - Recopilar información acerca de los diferentes ingredientes que se encuentran disponibles para alimentar al ganado con sus respectivos aportes nutricionales, los requerimientos nutricionales de cada estado fisiológico del animal, el marco legal ya que hay algunos alimentos prohibidos por la ley, y otras informaciones referentes al tema. - Analizar el modelo matemático del problema de las dietas planteado en la programación lineal y a partir de allí realizar la formulación del problema con los datos reales recopilados. - Analizar los métodos de solución que ofrece la programación lineal para minimizar los costos de la dieta alimenticia con el fin de diseñar e implementar un programa que automatice el proceso. - Crear una plataforma web que permita acceder a las funcionalidades del software en cuestión, tales como el ingreso al sistema, el panel de administración del ganado, el panel de elaboración de dietas, entre otras; esta plataforma debe ser fácil de usar y debe cumplir con los estándares de calidad del software.


1.5 TECNOLOGÍA ASOCIADA AL PROYECTO La aplicación web se desarrollará usando el lenguaje de programación Java, la cual debe soportar el acceso a una base de datos PostgreSQL. Este gestor de base de datos se caracteriza por garantizar las propiedades ACID, ademas posee licencia libre, que permite instalación ilimitada y modificación del codigo fuente, cumple con el ANSI SQL y es compatible con java dado que soporta JDBC. Como entorno de desarrollo integrado se usará NetBeans, ya que posee una amplia gama de herramientas que facilitan el desarrollo de aplicaciones, ademas que tambien posee licencia opensource y es el entorno de desarrollo al cual estamos familiarizados. Como sistema operativo se eligió Ubuntu ya que es un sistema totalmente funcional y estable y posee licencia opensource. Para el diseño y modelado de datos se usará el programa Dia, por lo que esta herramienta es compatible con el sistema operativo seleccionado y tambien opensource y tiene soporte para el lenguaje unificado de modelado UML 2.0 el cual es útil a la hora de modelar la aplicación ya que posee diversos diagramas que ofrecen una vista preliminar del sistema y permite depurar errores de diseño que se puedan presentar. Para la documentación del proyecto se usará la suite ofimatica de OpenOffice que viene preinstalada con Ubuntu y Google Docs, que nos permite compartir la información en tiempo real via internet, especialmente útil a la hora de hacer encuestas, y asi ser mas productivos en nuestro trabajo.


1.6 ANALISIS DE RIESGO A continuación se realiza un análisis de los riesgos que pueden ocurrir en el proceso de desarrollo del software. Tipo de riesgo

Descripción

Los resultados arrojados por el sistema son incorrectos o no (Procesamiento) son los apropiados Integridad del sistema

Medidas de control

Prioridad

Impacto

Alta

Se debe analizar a fondo el modelo matemático en el Pérdidas cual está económicas por fundamentado el resultados sistema (Método inesperados en Simplex) y la aplicación de realizar las dietas comprobaciones sugeridas. con herramientas ya establecidas como WinQSB o Excel.

Los resultados Integridad del arrojados por el sistema sistema tienen Alta un tiempo de (Procesamiento) espera muy alto

Confusión e insatisfacción por parte del usuario.

Utilizar herramientas de desarrollo que tengan un rendimiento óptimo como Java y JSP.

Integridad del sistema (Procesamiento de errores)

Confusiones en el uso del sistema por parte del usuario.

Implementar y realizar revisiones periódicas del manejo de excepciones

Personal

Las excepciones no se capturan Alta adecuadamente Los miembros Alta del equipo se encuentren incapacitados por enfermedad, paro de transportes, etc.

Retrasos en los entregables

- Trabajar vía Internet - Los miembros del equipo deben organizarse en parejas de tal forma que cuando uno de los dos falte, su pareja se encargue de cumplir con las funciones del otro mientras dura la incapacidad. Las parejas deben


estar establecidas de acuerdo a labores afines.

Recurso físico

Los recursos físicos como computadores o accesorios no Media son suficientes o han sufrido algún daño

Falta de experiencia en el Personal proceso de Alta desarrollo de software. Tabla 1.1. Analisis de riesgos

Retrasos en los entregables

El líder del grupo debe establecer en los requerimientos del proyecto la necesidad explicita de una cantidad suficiente de computadores y otros recursos físicos para desarrollar el proyecto. En caso de que no se pueda tener la totalidad de recursos especificados, se debe distribuir el tiempo organizadamente con los recursos disponibles, es decir, organizar horarios de trabajo. En caso de daño de algún componente, se toman medidas como hacer mantenimiento periódico por personal calificado, pueden ser los mismo miembros del equipo

Reuniones Entregables con constantes con información los profesores y erróneas o personas que incompletas sepan del tema.


1.7 ARQUITECTURA DEL SISTEMA El sistema se puede comprender mejor haciendo una diferenciaci贸n en la finalidad de sus componentes. Los componentes se pueden clasificar dentro de tres capas diferentes: La interfaz gr谩fica de usuario, que consiste en los paquetes de clases y documentos que se encargan de construir las ventanas de interacci贸n con el


usuario final; la lógica de negocio que tiene que ver con aquellos componentes que son útiles a la hora de tomar decisiones sobre el negocio; y también la persistencia de los datos, en los cuales se encuentran aquellos componentes que se comunican con las bases de datos y las bases de datos mismas.

Figura 1.1. Arquitectura del sistema GANATOOL

En este diagrama se define la interfaz de usuario que contiene los documentos asociados al sitio web del cual se puede acceder a la aplicación, así como el inicio y cierre de sesión. En la capa de lógica del negocio, el veterinario cuenta con módulos de administración de ganado, para agregar grupos de ganado con similares características, listar, eliminar o modificar dichos grupos, también de


administración de ingredientes, para agregar, listar, modificar o eliminar dichos ingredientes. Con el módulo de administración de dietas se pueden elaborar las dietas y listar o eliminar las existentes. El modulo de administración de datos del usuario se refiere al panel de control del usuario en el cual puede modificar la información personal. En la capa de persistencia tenemos el gestor de bases de datos, encargado de conectarse, consultar, modificar, agregar o eliminar los datos registrados. Y también las diferentes bases de datos necesarias para almacenar la información.


1.8 GLOSARIO TÉCNICO APLICACIÓN WEB: aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador.

CALORÍAS: Es una unidad de energía que expresa el poder alimenticio de los alimentos.

CENIZA: En el análisis de alimentos también se conoce con el nombre de cenizas al conjunto de minerales que no arden ni se evaporan.

DIA: Es un programa de licencia libre diseñado para realizar diagramas UML con ayuda de la computadora.

DIETA: Etimológicamente la palabra dieta significa "régimen de vida". Se acepta como sinónimo de régimen alimenticio, que alude al "conjunto y cantidades de los alimentos o mezclas de alimentos que se consumen habitualmente".

ENTREGABLE: Es todo documento relacionado con el proyecto que deba ser entregado al cliente.

EXCEPCIONES: Son condiciones anormales que pueden ocurrir en la ejecución de un programa.

EXTRACTO ETÉREO: Extracto etéreo" ó bien llamado "grasa bruta" es el conjunto de sustancias de un alimento que se extraen con éter etílico ( es decir esteres de los ácidos grasos, fosfolípidos, lecitinas, esteroles, ceras, ácidos grasos libres, etc.).


FDA: Este valor se refiere a las porciones de pared de las celulas del forraje que esta constituido por celulosa y lignina. Estos valores son importantes porque estan relacionados con la habilidad del animal para digerir el forraje.

FDN: Es la pared total de la celula, que está comprendido por la fraccion FDA mas la hemicelulosa. Los valores de fibra detergente neutra, son importantes en la formulacion de las raciones porque reflejan la cantidad de forraje que el animal puede consumir. A medida que aumenta el porcentaje FDN, la ingestion de materia seca , generalmente disminuirá. A medida que aumenta el FDA. La digestabilidad del forraje usualmente disminuye.

FIBRA: La parte de las plantas comestibles que resiste la digestión y absorción en el intestino delgado y que experimenta una fermentación parcial o total en el intestino grueso.

GOOGLE DOCS: Es un servicio de Google que consiste en un editor de texto online con funcionalidades interesantes como editar simultáneamente un documento desde varios lugares y varios usuarios al mismo tiempo.

HUMEDAD: Es la cantidad de agua que posee un alimento.

INTERNET: Es la interconexión mundial de computadoras sobre la cual se prestan muchos servicios como la www.

JAVA: Es un lenguaje de programación orientado a objetos que posee amplia aceptación hoy en día por su eficiencia y su nivel de sofisticación.

LICENCIA LIBRE: Un programa que tiene licencia libre puede ser copiado, modificado o distribuido las veces que se quieran con la condición de mantener la propiedad intelectual del autor.


NETBEANS: Es un entorno de desarrollo integrado que posee licencia libre y es usado para programar en Java y sus subproductos, aunque las nuevas versiones poseen soporte para otros lenguajes de programación.

OPEN OFFICE: Es un paquete ofimatico de licencia libre que viene incorporado en algunas distribuciones Linux como Ubuntu. Es una alternativa libre al paquete de MS Office.

OPTIMIZACIÓN: Es un proceso matemático que consiste en maximizar o minimizar una función objetivo de acuerdo a unas restricciones tecnológicas y usando los métodos de la programación lineal.

POSTGRESQL: Es un sistema gestor de bases de datos por medio de la cual se crean las bases de datos, se acceden, modifican y actualizan los datos almacenados en éstas.

PROPIEDADES ACID: conjunto de características necesarias para que una serie de instrucciones puedan ser consideradas como una transacción.

PROTEÍNAS: Las proteínas son macromoléculas formadas por cadenas lineales de aminoácidos. Las proteínas desempeñan un papel fundamental en los seres vivos y son las biomoléculas más versátiles y más diversas. Realizan una enorme cantidad de funciones diferentes, entre las que destacan: •

Estructural (colágeno y queratina)

Reguladora (insulina y hormona del crecimiento),

Transportadora (hemoglobina),

Defensiva (anticuerpos),


enzimática (sacarasa y pepsina),

Contráctil (actina y miosina).

TIEMPO DE ESPERA: Es el tiempo que tarda la aplicación en responder ante un evento iniciado por el usuario o cualquier otro componente del sistema. Depende de varios factores como el rendimiento del computador, las herramientas usadas para su desarrollo, entre otras.

Capitulo II - Análisis y especificación de requisitos del sistema En éste capítulo se lleva a cabo el análisis y la especificación de los requisitos del sistema GANATOOL con el fin de establecer una referencia de las necesidades del sistema a la hora de realizar los procesos de diseño e implementación.


Este capítulo consta de las siguientes secciones: - Especificación de requisitos -Objetivos del sistema -Requisitos de información -Restricciones de información - Requisitos funcionales -Diagramas de casos de uso -Definición de actores -Documentación de casos de uso 2.1 Especificación de requisitos La especificación de requisitos esta dividida en tres partes: Objetivos del sistema, requisitos de información y restricciones de información. Con este análisis se establecerán los datos que requiere el sistema para su funcionamiento. 2.1.1 Objetivos del sistema A continuación se presenta una lista con los objetivos que debe alcanzar el sistema: ID Objetivo

ID-OBJ-01

ID-OBJ-02

ID-OBJ-03

Nombre

Descripción

Administración de Dietas

GANATOOL permitirá al usuario elaborar, listar o eliminar las dietas Alta para el ganado vacuno de propósito cárnico.

Administración de Ingredientes

GANATOOL permitirá administrar (crear, modificar, eliminar, Alta listar) el banco de ingredientes usados para la elaboración de las dietas.

Administración de Ganado

GANATOOL permitirá administrar (crear,

Estabilidad

Alta


modificar, eliminar, listar) el inventario del ganado al cual se le aplicaría una dieta por grupos de animales con similares características.

Control de acceso

GANATOOL permitirá el acceso al sistema solo a Alta usuarios registrados.

ID-OBJ-05

Administración de datos del usuario

GANATOOL permitirá al usuario actualizar su Alta. información personal, su contraseña, etc.

ID-OBJ-06

GANATOOL permitirá que los usuarios se Registro de usuario registren en el sistema para acceder a este.

ID-OBJ-04

Alta.

Tabla 2.1 Objetivos del sistema

2.1.2 Requisitos de información A continuación se especifican por medio de tablas los datos que serán almacenados por el sistema.

RI-01

INFORMACIÓN SOBRE DIETAS

Objetivos asociados

ID-OBJ-01

Requisitos asociados

RF-01 Elaborar dieta RF-02 Eliminar dieta RF-03 Listar dietas

Descripción

GANATOOL deberá permitir la elaboración de dietas de acuerdo a ciertos parámetros, deberá tener la opción de listar y la opción de


eliminar las dietas. Datos específicos

Ingredientes, necesidades nutricionales, porcentajes de inclusión de cada ingrediente, nombre de dieta, grupo de ganado al cual se le aplica, finca a la cual pertenece dicho ganado, peso proyectado, intervalo de renovación de dieta, fecha de creación.

Tiempo de vida 5 años promedio Ocurrencias Comentarios

Los ingredientes se obtienen del banco de ingredientes, las necesidades nutricionales están almacenadas en la base de datos.

Tabla 2.2 Requerimientos de información sobre dietas

RI-02

INFORMACIÓN SOBRE INGREDIENTES

Objetivos asociados

ID-OBJ-02

Requisitos asociados

RF-04 Agregar Ingrediente RF-05 Eliminar Ingrediente RF-06 Listar Ingredientes RF-07 Modificar Ingrediente

Descripción

GANATOOL deberá permitir el almacenamiento de los datos relacionados con los ingredientes.

Datos específicos

Nombre, Proveedor, Precio/Kg., Calorías, Proteínas, Extracto etéreo, ceniza, fibra, FDN, FDA, humedad, Calcio, Fósforo.

Tiempo de vida promedio

5 años

Ocurrencias Comentarios

Ninguno.

Tabla 2.3 Requerimientos de información sobre ingredientes

RI-03

INFORMACIÓN SOBRE GANADO

Objetivos

ID-OBJ-03


asociados Requisitos asociados

RF-08 Agregar ganado RF-09 Eliminar ganado RF-10 Listar ganado RF-11 Modificar ganado

Descripción

GANATOOL deberá permitir el almacenamiento de los datos relacionados con el ganado al cual se le va a aplicar la dieta.

Datos específicos

Identificación, peso promedio, raza, edad promedio, nombre del dueño.

Tiempo de vida promedio

5 años

Ocurrencias Comentarios

Los datos del ganado se toman por grupos.

Tabla 2.4 Requerimientos de información sobre ganado

RI-04

INFORMACIÓN SOBRE ACCESO

Objetivos asociados

ID-OBJ-04 RF-12 Controlar acceso al sistema

Requisitos asociados Descripción

GANATOOL deberá controlar el acceso al sistema.

Datos específicos

Nombre de usuario, contraseña.

Tiempo de vida promedio 5 años Ocurrencias Comentarios

Ninguno.

Tabla 2.5 Requerimientos de información sobre acceso

RI-05

INFORMACIÓN SOBRE DATOS DE USUARIO

Objetivos asociados

ID-OBJ-05

Requisitos asociados

RF-13 Actualizar foto


RF-14 Actualizar datos RF-15 Actualizar contraseña

Descripción

GANATOOL deberá permitir que el usuario actualice sus datos personales.

Datos específicos

Imagen, contraseña antigua, contraseña nueva, datos a cambiar.

Tiempo de vida promedio

5 años

Ocurrencias Comentarios

Ninguno.

Tabla 2.6 Requerimientos de información sobre datos de usuario

RI-06

INFORMACIÓN SOBRE REGISTRO DE USUARIO

Objetivos asociados

ID-OBJ-07 RF-16 Registrar usuario

Requisitos asociados Descripción

GANATOOL deberá permitir que el usuario se registre para acceder al sistema.

Datos específicos

Nombre completo, nombre de usuario, contraseña, email, ciudad, telefono, edad.

Tiempo de vida promedio

5 años

Ocurrencias Comentarios

Ninguno.

Tabla 2.7 Requerimientos de información sobre registro de usuario

2.1.3 Restricciones de Información A continuación se presentan las restricciones establecidas para el sistema GANATOOL.


RR-01

Relaci贸n entre usuario y administraci贸n de dietas, de ingredientes, de ganado y de datos del usuario

Objetivos asociados

ID-OBJ-01, ID-OBJ-02, ID-OBJ-03, IDOBJ-05

Requisitos asociados

RF-01, RF-02, RF-03, RF-04, RF-05, RF06, RF-07, RF-08, RF-09, RF-10, RF-11, RF-13, RF-14, RF-15,

Descripci贸n

Solo los usuarios registrados pueden acceder a los paneles de administraci贸n.

Estabilidad Comentarios

Ninguno.



Proyecto GANATOOL Cap. 1 y 2 rev. 01