1
SISTEMATIZACIÓN DEL PROCESO DE FAENADO EN LA PLANTA DE
BENEFICIO ANIMAL “CARNES Y DERIVADOS LA PRADERA” DEL
MUNICIPIO DE PRADERA VALLE.
JUAN CAMILO LEYTON VEGA
CRISTIAN CAMILO LOZANO VARGAS
UNIVERSIDAD CATÓLICA DE PEREIRA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES
PEREIRA, RISARALDA
2015
2
SISTEMATIZACIÓN DEL PROCESO DE FAENADO EN LA PLANTA DE
BENEFICIO ANIMAL “CARNES Y DERIVADOS LA PRADERA” DEL
MUNICIPIO DE PRADERA VALLE.
JUAN CAMILO LEYTON VEGA
CRISTIAN CAMILO LOZANO VARGAS
Informe Final de Trabajo de Grado
Director:
Ing. Daniel Felipe Blandón Gómez
UNIVERSIDAD CATÓLICA DE PEREIRA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES
PEREIRA, RISARALDA
2015
3
TABLA DE CONTENIDOS
TABLA DE CONTENIDOS ...................................................................................... 3
LISTA DE FIGURAS ............................................................................................... 6
LISTA DE TABLAS .................................................................................................. 7
RESUMEN .............................................................................................................. 8
INTRODUCCIÓN .................................................................................................... 9
1. FORMULACIÓN DEL PROYECTO ................................................................ 10
1.1. SITUACIÓN PROBLEMA ......................................................................... 10
1.2. OBJETIVOS ............................................................................................. 12
1.2.1. OBJETIVO GENERAL ....................................................................... 12
1.2.2. OBJETIVOS ESPECÍFICOS ............................................................. 12
1.3. JUSTIFICACIÓN ...................................................................................... 13
1.4. CRONOGRAMA DE ACTIVIDADES ........................................................ 14
2. MARCO TEÓRICO ........................................................................................ 15
2.1. ANTECEDENTES .................................................................................... 15
2.1.1. Kais FS de Kais Software .................................................................. 15
2.1.2. Sage ERP X3 Meat de Aritmos.......................................................... 15
2.1.3. LIBRA de EDISA ................................................................................ 16
2.1.4. Sistema de Trazabilidad Ganadera de SONDA ................................. 16
2.1.5. TecnoCarnes ..................................................................................... 17
2.2. MARCO CONTEXTUAL ........................................................................... 18
2.2.1. Municipio de Pradera ......................................................................... 18
Breve historia del Municipio de Pradera ..................................................... 18
Población .................................................................................................... 18
Geografía .................................................................................................... 18
Clima .......................................................................................................... 19
2.2.2. Planta de Beneficio Animal “Carnes y Derivados La Pradera” .......... 19
Ubicación .................................................................................................... 19
Colaboradores ............................................................................................ 20
2.3. MARCO CONCEPTUAL .......................................................................... 21
2.3.1. SOFTWARE ...................................................................................... 21
4
2.3.2. APLICACIONES WEB ....................................................................... 21
2.3.2.1. Cliente ......................................................................................... 21
2.3.2.2. Servidor ....................................................................................... 22
2.3.3. INGENIERÍA DEL SOFTWARE ......................................................... 23
- Objetivos de la Ingeniería del Software................................................. 23
2.3.4. MODELOS DEL CICLO DE VIDA DEL DESARROLLO DE
SOFTWARE ................................................................................................... 25
- El ciclo de vida en cascada ................................................................... 25
- Los ciclos de vida iterativos e incrementales ........................................ 26
2.3.5. MODELO-VISTA-CONTROLADOR ................................................... 27
- Modelo .................................................................................................. 27
- Vista ...................................................................................................... 27
- Controlador ........................................................................................... 27
2.3.6. DJANGO ............................................................................................ 28
- Diseñar un modelo ................................................................................ 29
- Codificar una vista ................................................................................ 30
- Diseñar una plantilla (Template) ........................................................... 30
2.3.7. SQLITE .............................................................................................. 31
3. ESPECIFICACIÓN DE LA SOLUCIÓN .......................................................... 32
3.1. REQUERIMIENTOS ................................................................................. 32
3.2. DIAGRAMAS DE CASOS DE USO.......................................................... 36
3.3. DICCIONARIO DE CASOS DE USO ....................................................... 39
3.4. DISEÑO DE BASE DE DATOS ................................................................ 42
3.4.1. Diccionario de datos .......................................................................... 42
3.5. DISEÑO DE INTERFACES ...................................................................... 45
3.5.1. Módulo de Autenticación ................................................................... 45
3.5.2. Módulo de Entrada de Ganado .......................................................... 46
3.5.3. Módulo de Consultas ......................................................................... 47
3.6. DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA Y ENTORNO
TECNOLÓGICO ................................................................................................ 48
3.6.1. Arquitectura del sistema .................................................................... 48
3.7. CODIFICACIÓN ....................................................................................... 49
3.7.1. Instalación y configuración del Framework Django ............................ 49
5
3.7.2. Creación de un proyecto en Django .................................................. 49
3.7.3. Creación de modelos en Django........................................................ 50
3.7.4. Servidor de desarrollo de Django ...................................................... 51
3.8. PRUEBAS ................................................................................................ 52
3.8.1. Pruebas de verificación de requerimientos ........................................ 52
3.8.2. Pruebas de la caja negra ................................................................... 52
3.8.3. Pruebas de visualización y adaptabilidad en dispositivos móviles .... 55
4. CONCLUSIONES .......................................................................................... 58
5. RECOMENDACIONES .................................................................................. 59
6. LISTA DE REFERENCIAS ............................................................................. 60
6
LISTA DE FIGURAS
Figura 1. Arquitectura común de una aplicación web. ........................................... 22
Figura 2. Ciclo de vida en cascada ....................................................................... 26
Figura 3. Relación entre el Modelo, la Vista y el Controlador ................................ 28
Figura 4. Casos de Uso: Sistema General ............................................................ 36
Figura 5. Casos de Uso: Autenticarse ................................................................... 36
Figura 6. Casos de Uso: Administrar Cuenta ........................................................ 37
Figura 7. Casos de Uso: Consultar ....................................................................... 37
Figura 8. Casos de Uso: Gestionar Entrada de Ganado ....................................... 38
Figura 9. Casos de Uso: Administrar Usuarios ...................................................... 38
Figura 10. Diseño de base de datos ...................................................................... 42
Figura 11. Interfaz Módulo De Autenticación......................................................... 45
Figura 12. Interfaz Módulo de Entrada de Ganado ............................................... 46
Figura 13. Interfaz Módulo de Consultas ............................................................... 47
Figura 14. Arquitectura del Sistema ...................................................................... 48
Figura 15. Codificación de modelos en Django ..................................................... 51
Figura 16. Ejecución del servidor de Django ......................................................... 51
Figura 17. Prueba en móvil: Inicio de sesión ......................................................... 55
Figura 18. Prueba en móvil: página principal ........................................................ 55
Figura 19. Prueba en móvil: ingresar entrada ....................................................... 56
Figura 20. Prueba en móvil: ingresar animales ..................................................... 56
Figura 21. Prueba en móvil: crear usuario ............................................................ 57
Figura 22. Prueba en móvil: creación de grupos ................................................... 57
7
LISTA DE TABLAS
Tabla 1. Parámetros deseables en un software. ................................................... 24
Tabla 2. Requerimiento No.1: Módulo de autenticación. ....................................... 32
Tabla 3. Requerimiento No. 2: Permisos de usuarios ........................................... 32
Tabla 4. Requerimiento No. 3: Módulo de Administración de Usuarios ................ 33
Tabla 5. Requerimiento No. 4: Imagen corporativa para la aplicación .................. 33
Tabla 6. Requerimiento No. 5: Software Web ....................................................... 33
Tabla 7. Requerimiento No. 6: Interfaz Adaptable ................................................. 34
Tabla 8. Requerimiento No. 7: Formulario Primera Fase ...................................... 34
Tabla 9. Requerimiento No. 8: Registro de Bovino en Primera Fase .................... 34
Tabla 10. Requerimiento No. 9: Impresión de Formularios ................................... 35
Tabla 11. Requerimiento No. 10: Búsquedas y filtros por fechas .......................... 35
Tabla 12. Caso De Uso: Autenticarse ................................................................... 39
Tabla 13. Caso De Uso: Administrar Cuenta......................................................... 39
Tabla 14. Caso De Uso: Gestionar Entrada de Ganado ....................................... 39
Tabla 15. Caso De Uso: Administrar Usuarios ...................................................... 40
Tabla 16. Caso De Uso: Consultar entradas ......................................................... 40
Tabla 17. Caso De Uso: Imprimir entradas ........................................................... 41
Tabla 18. Diccionario de datos: Usuario ................................................................ 42
Tabla 19. Diccionario de datos: Permiso Grupos .................................................. 43
Tabla 20. Diccionario de datos: Grupo .................................................................. 43
Tabla 21. Diccionario de datos: Entrada ............................................................... 43
Tabla 22. Diccionario de datos: Animal ................................................................. 44
8
RESUMEN
Los Sistemas de Información han permitido a las empresas mejorar sus procesos
optimizando la comunicación, aumentando la seguridad y reduciendo costos. En el
presente trabajo se exponen los procedimientos y pasos llevados a cabo para
diseñar y desarrollar un aplicativo web para la Planta de Beneficio Animal “Carnes
y Derivados La Pradera” que permita el registro digital de la información de los
animales que llegan a esta empresa.
El trabajo abarca la ingeniería de software desde los requerimientos, diagramas de
casos de uso, modelo de datos, elementos específicos de la codificación y
finalmente las pruebas realizadas al software.
Palabras clave: Aplicativo Web, Planta de Beneficio Animal, Django, SQLite,
Modelo-Vista-Controlador.
ABSTRACT
Information Systems have allowed companies to improve their processes optimizing
communication, increasing safety and reducing costs. In this work procedures and
steps taken to design and develop a web application to Benefit Animal Plant “Carnes
y Derivados La Pradera" that allows digital recording of information of the animals
that come to this company are exposed.
The work ranges from engineering software requirements, use case diagrams, data
model, specifics of coding and finally tests the software.
Keywords: Web application, Benefit Animal Plant, Django, SQLite, Model-View-
Controller.
9
INTRODUCCIÓN
Los procedimientos involucrados en un proceso productivo pueden ser
dispendiosos si se realizan manualmente. Esto puede implicar pérdida de tiempo,
fatiga para el o los operarios y conducir a la ineficiencia. Trabajar de esta manera
puede generar costos ocultos y por supuesto disminución en las utilidades de la
empresa.
El avance de los sistemas de información y las tecnologías de la información y las
comunicaciones (TIC) viene en ayuda de las empresas, al brindarles la oportunidad
de sistematizar los procesos y procedimientos identificados en cada una de sus
áreas. De esta manera, el trabajo se hace más efectivo, menos fatigoso, más
preciso en sus resultados y por lo tanto mejora el nivel de desempeño individual y
colectivo en la empresa y, lo más importante, incrementa sus utilidades.
Carnes y Derivados La Pradera es una planta de beneficio animal, lo que
comúnmente se conoce como "matadero", en donde se sacrifican principalmente
bovinos. Es una empresa que lleva alrededor de un año en operación. Algunos de
sus procesos se realizan manualmente, lo que conlleva a un desperdicio de tiempo,
papelería y recurso humano, haciendo lento el flujo de información.
El presente estudio busca poner en orden la información requerida por la planta en
el proceso de faenado (sacrificio animal), mediante la construcción de un software
que contenga todos los elementos requeridos por el proceso, unificando los
formatos que actualmente se utilizan. El diseño del programa permitirá facilitar el
proceso de la primera etapa en la que se reciben los animales, guardando
información de manera digital y segura para sus posteriores consultas y
estadísticas.
Con el objetivo que pueda ser accedido desde cualquier dispositivo incluyendo
Tablets y celulares el software que se plantea en el proyecto será un aplicativo web
que permita a los operarios poder transportarse dentro de los establecimientos y
zonas de la planta llevando el control de la entrada de los animales sin restricciones
gracias a la red inalámbrica.
Esta información, debidamente sistematizada, será entregada al departamento de
contabilidad en tiempo real, para su correspondiente registro contable, agilizando la
información requerida para la toma de decisiones por parte los directivos de la
empresa.
10
1. FORMULACIÓN DEL PROYECTO
1.1. SITUACIÓN PROBLEMA
Carnes y Derivados La Pradera es una planta de sacrificio animal, en donde el
manejo de la información necesaria para la matanza, el desposte y la distribución
se escribe a mano en papel y posteriormente es digitada y almacenada en
computadores para conservar la información.
Este proceso evidentemente genera retrasos, es inseguro y no permite la
visualización de la información relacionado con los procesos de la planta en tiempo
real. Para entender a fondo las actividades de esta empresa, se procede a detallar
las áreas que componen el proceso por el que pasa el animal desde que llega, hasta
que su carne sale para ser distribuida.
Para el manejo de la información de sacrificio de la res se utilizan alrededor de 5
formatos distintos, esta información es manejada por un operario que debe hacer el
seguimiento en cada área del proceso, cabe resaltar que durante el proceso los
formatos pueden dañarse por el agua u otros fluidos que hay en estas áreas.
Esta información es importante a la hora de realizar el balance general de los lotes
de reses que se sacrifican por jornada, el cual es realizado por el personal del área
contable con la información de reses sacrificadas cada día para obtener los datos
numéricos dentro con los cuales se determinan las ganancias diarias.
Un obstáculo para la operación de la planta, es visible ya que se deja sin información
el área contable y administrativa al tener que esperar que termine la jornada para
poder pasar la información al sistema una vez se hacen todos los sacrificios.
Los formatos que son utilizados están incluidos en las diferentes fases existentes
en el proceso. Iniciando con la fase de entrada No 1, con la recolección de
información de cada res, los operarios deben pesar cada animal (esto se debe hacer
cuando entra y cuando sale la res del corral); se verifica que posean el registro “ICA”
(registro que cada res debe traer donde se muestran las vacunas requeridas, así
como información relevante para la planta). Enseguida se registra información
relevante como la marca de la quemadura, hacienda de donde procede la res y
nombre del propietario, posteriormente se inicia el proceso de recuperación de peso
perdido en el viaje, debido a deshidratación, mareo y estrés en un corral temporal
por un tiempo máximo de tres días.
En la segunda fase, posterior a la preparación de la res para el sacrificio, ésta es
llevada a los corrales de la planta donde será revisada por un veterinario. El
veterinario la evalúa y confirmara que esté libre de fiebre aftosa y pueda ser
sacrificada. Allí se hace el amarre. Se denomina amarre al proceso de selección
11
que hacen los clientes para escoger las reses que van a comprar en canal. El animal
es pesado nuevamente con el fin de saber en cuánto ha disminuido el peso desde
que llegó a la planta.
Una vez que cae la res, el operario lleva el registro de identificación del animal en
un papel que reparte por cada área de desposte; papel que debe ser compartido
con todas las áreas para que lleven el registro. Como puede notarse en este punto
los operarios deben manejar una gran cantidad de papeles impresos por cada res y
la información debe ser entregada por una persona a cada área, lo que causa que
esta persona no pueda realizar otras labores y que ningún área pueda empezar el
trabajo sin antes tener la información completa.
La fase tres del proceso, comienza con el desposte del animal, se debe hacer
seguimiento para que las partes del animal no se confundan con las de otros
animales, a este proceso se le llama caracterización. El animal empieza su proceso
de desposte y se seleccionan las partes que son del cliente y las que son de la
planta. Se registran las partes que se van a decomiso (partes enfermas del animal
que no son aptas para el consumo), como también las partes sanas que deben ser
pesadas.
Por último, en la cuarta fase, la res es cortada a la mitad con una sierra, a esta parte
final se le llama canal. En esta fase la canal es pesada y se decide si se transporta
en caliente (se despacha en el camión inmediatamente) o si pasa a un cuarto frío
donde la carne madura y recupera algo de peso por el agua. En este proceso se
debe manejar la información de lo que cada camión lleva, además se diligencia una
"guía de transporte de carne en canal", que es la información que exige la ley para
poder transportar la carne.
Finalmente, teniendo las características de cada fase y las necesidades más
urgentes de la empresa, se plantea como principal caso de estudio la fase número
uno que comprende la entrada del animal, por lo que el proyecto de software
presentado en este trabajo facilitará el registro de información y la visualización en
tiempo real de la misma a diferentes áreas de la empresa.
12
1.2. OBJETIVOS
1.2.1. OBJETIVO GENERAL
Diseñar e implementar un aplicativo para la empresa de Carnes y Derivados La
Pradera que permita la agilización de la gestión de la información en el proceso de
faenado.
1.2.2. OBJETIVOS ESPECÍFICOS
Realizar la recolección de información inherente a la fase del proceso de
faenado con apoyo de las directivas de la empresa.
Diseñar e implementar un sistema de almacenamiento adaptado a las
necesidades especificadas en el proceso de recolección de información.
Desarrollar un aplicativo que permita a los usuarios la gestión de la información para la fase del proceso de faenado.
Ejecutar las pruebas correspondientes al software para comprobar el correcto funcionamiento de cada módulo, y su integración con la base de datos.
13
1.3. JUSTIFICACIÓN
El proceso de sacrificio animal y todas las actividades que están involucradas a éste
dentro de la Planta “Carnes y Derivados La Pradera” no puede estar ajeno a los
avances tecnológicos y a los beneficios que éstos traen consigo, es por eso que la
implementación de un software que apoye los procesos facilita en gran medida la
reducción de tiempos, la conservación y la seguridad de la información, lo que se
traduce en mayor rendimiento y por ende en mayores beneficios económicos.
El registro de la información en formatos impresos permite al operario transportarse
libremente por las instalaciones, corrales, oficinas y demás áreas de la planta, pero
cada vez es menos eficiente y económico manejar formatos en papel.
Un software que apoye estos procesos no puede ser de escritorio y mucho menos
ser contemplado únicamente para computadores. Por esta razón se presenta en
este proyecto un aplicativo web, que permite desde cualquier dispositivo móvil sin
importar su sistema operativo acceder al sistema para el diligenciamiento de los
formularios o para la realización de consultas.
Al no interponerse la movilidad de los trabajadores, la información registrada a
través del aplicativo estará mucho más segura comparada con el procedimiento
manual, esto se debe a que los datos estarán almacenados y centralizados en un
servidor y habrá una configuración de cuentas y permisos para acceder al sistema,
lo que dará garantía que las personas utilicen el aplicativo para lo que
verdaderamente les corresponde y no tengan oportunidad de entrar en detalles de
procesos que no están comprendidos dentro de sus actividades laborales en la
planta.
Con el clásico proceso en papel y lápiz, los residuos líquidos que tanto se manejan
en una planta de sacrificio animal deterioran los formatos impresos, al punto que no
son legibles los datos o, peor aún, que los procesos tengan que repetirse. Es
evidente que el software puede ser la solución a estos problemas, ya que desde el
inicio del proceso la información es almacenada en un servidor central y no está con
el operario.
Otra razón importante que justifica la realización de este proyecto, es la agilidad que
se genera en los procesos y la reducción de los tiempos debido a que la información
puede ser consultada en tiempo real. Con el aplicativo web no es necesario esperar
que los operarios distribuyan los formatos impresos en las diferentes oficinas, con
este software sólo basta con ingresar al navegador y realizar las consultas
necesarias.
14
1.4. CRONOGRAMA DE ACTIVIDADES
MES Junio Julio Agosto Septiembre Octubre
SEMANA 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
ACTIVIDADES Subactividades
Requerimientos
Entrevistas
Documentación de requerimientos
Revisión y aprobación de los requerimientos
Análisis y diseño
Diagramas de casos de uso
Diccionario de casos de uso
Modelo de datos
Modelo de interfaces
Definición de arquitectura y entorno tecnológico
Codificación
Base de datos
Módulo Administración de usuarios
Módulo Entradas
Módulo Consultas
Pruebas
Pruebas de verificación de requerimientos
Pruebas de la caja negra
Pruebas de adaptabilidad en dispositivos móviles
15
2. MARCO TEÓRICO
2.1. ANTECEDENTES
A continuación se mencionan algunos desarrollos de software ya existentes en el
mercado que permiten la sistematización de los procesos propios de la industria del
sacrificio o beneficio de animales. Entre estas aplicaciones se exponen algunas
realizadas fuera y dentro del país.
2.1.1. Kais FS de Kais Software
La empresa española Kais Software ofrece dentro de sus diferentes soluciones, un
software que permite controlar la trazabilidad en productos y procesos de empresas
en el sector de la alimentación. La empresa ha diseñado un producto enfocado a
este control para mataderos y salas de despiece llamado Kais FS, el cual funciona
en una base de datos SQL y ofrece una conexión con los sistemas más comunes
en este tipo de organizaciones tales como los de báscula de pesaje, equipos de
identificación o terminales Wireless.
Kais FS es un software de gestión empresarial especializado en la industria cárnica
que ofrece una múltiple variedad de módulos totalmente adaptables a las empresas,
con implantaciones en toda España. El software cubre diferentes tipologías de
empresa, desde granjas y cebaderos hasta mataderos, salas de despiece,
almacenes, embutidos, ibéricos, curados y elaborados.
La empresa española ofrece diferentes servicios involucrando Kais FS, como el
análisis de procedimientos para confeccionar auditorías del estado de la información
de la empresa cliente, preparación de entornos y desarrollo personalizados para el
diseño de las fichas técnicas.
El programa permite el registro y actualización centralizada de los datos de
matanza, trazabilidad y gestión de calidad, permitiendo guardar un histórico
permanente, de imprimir y consultar desde cualquier punto del sistema según
privilegios de usuarios, acceso web con ingreso restringido para clientes y consulta
de partidas propias, y posee un analizador estadístico y flexibilidad en la definición
de formatos propios como etiquetas, albaranes, facturas, entre otros (KaisFS, 2014).
2.1.2. Sage ERP X3 Meat de Aritmos
Aritmos es una compañía de soluciones tecnológicas para empresas, con sede
central en Lérida, España y oficinas en Tarragona, Barcelona, Madrid, Zaragoza e
Igualada del mismo País, y disponen de una solución para Industrias Cárnicas
llamado Sage ERP X3 Meat que contempla el ciclo completo de mantanza, despiece
y elaboración, el cual ha sido desarrollado para trabajar en entornos como Windows
16
2000 hasta Windows Vista y UNIX), con base de datos SQL Server y Oracle, y está
disponible en modo cliente/servidor o en modo web (Intranet/Internet).
Dentro de sus funciones para la Gestión de Matanza, permite la gestión de especies
porcinas, vacunas y ovinos, gestionar el tipo de compras (peso vivo, peso canal),
conexión con báscula, información de transporte, información de origen, gestión de
costes y generación de los resultados del matadero.
“Gracias al módulo de desarrollo se puede adaptar la aplicación a las exigencias de
la actividad particular de las empresas, permitiendo integrar la información de los
procesos de elaboración (básculas, lectores, terminales táctiles, etc) con la base de
datos corporativa.” (Aritmos Global Technology Solutions, 2014)
2.1.3. LIBRA de EDISA
Grupo EDISA es una empresa que dentro de su portafolio posee un software
llamado LIBRA, el cual es un software de gestión ERP para empresas del sector de
la Alimentación y Agroalimentario, y su adaptación para productos cárnicos permite
mejorar los procesos de sala de elaboración, permitiendo llevar la trazabilidad del
producto y el cumplimiento de las normativas sanitarias y de calidad aplicables.
LIBRA permite llevar una multiproducción, que facilita el obtener múltiples productos
a partir de una misma orden de producción, gestionando los procesos de
producción-despiece, integrando con los sistemas de toma de datos en planta.
LIBRA cuenta con más de 3.000 tablas de datos y parámetros que permiten adaptar
el producto a las necesidades específicas de cada actividad y empresa sin
necesidad de llevar a cabo desarrollos específicos. El nivel de parametrización llega
hasta el interface del usuario, pudiendo personalizar los formularios de entrada,
listas de valores, alertas, idiomas, automatización de procesos y otros aspectos que
contribuyen a optimizar el manejo del sistema (Grupo Edisa, s.f.).
2.1.4. Sistema de Trazabilidad Ganadera de SONDA
El Sistema de Trazabilidad Ganadera desarrollado por SONDA es una herramienta
que permite a los productores un desempeño competitivo en el mercado bovino
global, con la potencialidad de extenderse a otras especies y mercados que exijan
contar con un sistema de trazabilidad para controlar y monitorear diversos aspectos
de un proceso productivo desde el origen hasta la entrega al potencial cliente y/o
distribuidor (SONDA, s.f.).
Este sistema da la posibilidad de generar y mantener la trazabilidad de la cadena
productiva bovina, permitiendo la integración de la información en una base de datos
centralizada, con actualización en línea y respuestas en tiempo real, mediante el
uso de las tecnologías de comunicaciones y redes. Igualmente ésta solución unifica
la información de la comercialización del producto, según la empresa, con el fin de
proveer a los consumidores un producto confiable, de origen conocido y obtenido a
17
través de un proceso eficaz, y de esta manera fortalecer la imagen de un producto
seguro y de calidad.
SONDA es una empresa Chilena pioneros en el desarrollo de soluciones de
trazabilidad bovina con soluciones que actualmente certifican la trazabilidad de
productos bovinos en Uruguay y Colombia, los cuales se encuentran entre los
principales productores y exportadores de carne en la región, Igualmente cuentan
con sedes en Argentina, Brasil, Costa Rica, Ecuador, México, Panamá, Perú y
Uruguay.
2.1.5. TecnoCarnes
Es un software diseñado para la Administración de la Industria cárnica que incorpora
un control del proceso productivo, de plantas de sacrificio, salas de desposte,
centros de acopio y puntos de venta.
TecnoCarnes dispone de las funciones necesarias para realizar el control y
trazabilidad de cada animal desde el momento del ingreso a las plantas de sacrificio
y faenado hasta su salida para los diferentes centros de consumo.
Permite el control de inventarios, compras, cuentas por cobrar, cuentas por pagar,
caja y bancos, órdenes de compra y venta, despacho de productos, facturación a
crédito y la implementación de un sistema POS (TecnoCarnes, s.f.).
La empresa TecnoCarnes tiene su sede principal en Medellín, Colombia, y cuenta
con una segunda sede en Bogotá.
18
2.2. MARCO CONTEXTUAL
La Planta de Beneficio Animal llamada “Carnes y Derivados La Pradera” está
ubicada en el Valle del Cauca, en el municipio Pradera, establecido en la zona sur
de este departamento. Para tener conocimiento del contexto en el que se
implementa el sistema, se proporciona la siguiente información descriptiva.
2.2.1. Municipio de Pradera
Breve historia del Municipio de Pradera
Aunque no se tiene una fecha definida, sobre el arribo y asentamiento de los
primeros habitantes del caserío de El Bolo, como se llamó inicialmente a Pradera,
los primeros asentamientos de población se mencionan en un juicio que por linderos
se adelantó entre el juzgado segundo de Florida, pero con residencia en el Bolo,
donde un señor Adriano Arroyo decía tener posesión de unos terrenos hacia 1.835
en el mencionado fundo
En el siglo XIX, el caserío del Bolo dependía de Palmira, su cabecera de Distrito y
para 1.860 se propone elevarla a la categoría de Aldea, sugiriendo varios nombres
tales como Mosquera y Nazaret: (el primero en relación con Tomás Cipriano de
Mosquera quien en varias ocasiones asumió la presidencia de la República en la
década de 1.860 al 70 y finalmente en 1.871 cuando fue elegido presidente del
estado soberano del Cauca.
En 1.867 se acoge el nombre de Pradera “Tierra de Prados”, y en diciembre de
1.870 por ordenanza municipal se erige en Distrito con veredas que tenían comisario
o alguacil y en 1.871 se instala y entra en funcionamiento la primera destilería oficial
del municipio (Alcaldía Municipal Pradera, s.f.).
Población
El municipio cuenta con una población estimada de 52.493 habitantes, según
proyecciones de población para el año 2011 realizadas por el DANE. Lo que
representa el 1,19% (4.411.176) de la población total del Departamento del Valle.
Su cabecera municipal concentra el 87,01% (45.674) del total de su población y el
12,99% (6.819) restante son habitantes de Zona Rural (Concejo Municipio Pradera,
2012).
Geografía
El departamento del Valle del Cauca es un sector caracterizado por sus extensas
planicies, y la mayoría de municipios no se salen de este esquema, por lo que
Pradera cuenta con superficies planas donde se siembra la famosa caña de azúcar,
19
pero cuenta también con algunas zonas montañosas, y algunos ríos por sus
alrededores.
Pradera limita al norte con Palmira (Quebrada Flores Amarillas), al sur con Florida
(Rio Parraga), al oriente con el departamento del Tolima (Cordillera Central de los
Andes) y al Occidente con Candelaria (Rio Parraga)
Además cuenta con las siguientes características (Alcaldía Municipal Pradera, s.f.):
- Extensión total: 407 km2
- Extensión área urbana: 152 km2
- Extensión área rural: 255 km2
- Altitud de la cabecera municipal (metros sobre el nivel del mar): 1.070 m
- Distancia de referencia: 50 km de Cali
Clima
Pradera posee un clima cálido con una temperatura promedio de 23 grados
centígrados, lo que la hace muy atractiva a los turistas o personas que desean
disfrutar de centros vacacionales, balnearios y sus sitios turísticos, además de
contribuir provechosamente a la agricultura.
2.2.2. Planta de Beneficio Animal “Carnes y Derivados La Pradera”
Es una planta de beneficio animal y una instalación privada en la que se sacrifican
animales para procesar y comercializar las carnes extraídas. Este establecimiento
está dotado con instalaciones y equipos necesarios para el beneficio de animales
de abasto público para consumo humano, así como para tareas complementarias
de elaboración e industrialización. Para realizar esta actividad la empresa está
dividida en diferentes áreas, por lo que uno de sus procesos internos varía
dependiendo del contexto de trabajo.
Todos los procesos internos están de conformidad con la normatividad sanitaria y
ambiental vigente que para estos fines son otorgadas por entidades nacionales
como el INVIMA y el Ministerio de Ambiente y Desarrollo Sostenible.
Carnes y derivados La Pradera plantea seguir siendo una productora y
comercializadora de ganado y sus derivados con altos índices de calidad, buenos
precios y la apropiación de la experiencia que el mercado necesita, teniendo una
gran variedad de productos que permitan obtener los resultados que el cliente
espera.
Ubicación
A la fecha Carnes y Derivados La Pradera se encuentra ubicado en la Calle 9 No.
12-56, Barrio San José, Pradera, Valle del Cauca.
20
Colaboradores
Esta empresa cuenta con alrededor de 30 colaboradores, la gran mayoría de ellos
son hombres mayores de 30 años.
Estos colaboradores están distribuidos en las diferentes áreas que esta actividad
requiere. En el área específica de recepción de ganado, donde está el software
directamente involucrado, están a cargo 12 personas.
21
2.3. MARCO CONCEPTUAL
2.3.1. SOFTWARE
El software es la parte inmaterial o lógica de un sistema informático. Son los
programas y los datos necesarios para que el componente tangible o físico de un
dispositivo (computador, celular, etc.) funcione y genere respuestas. Para que un
dispositivo puede realizar una tarea es necesario que haya algo que le indique qué
y cómo debe hacerla. Estas órdenes se materializan en instrucciones elementales
y a cada conjunto de instrucciones se las denomina programa. Entonces, de manera
general, el software es un conjunto de programas diseñados por expertos o usuarios
que conocen los elementos apropiados que permitan controlar la actividad de un
dispositivo y para convertir información de entrada en resultados (De Pablos, López,
Romo, & Medina, 2004).
El software se clasifica de manera general, como componente de un dispositivo, en
cinco áreas:
1. Sistemas operativos
2. Lenguajes de programación
3. Utilidades o programas utilitarios
4. Aplicaciones o software de aplicación específico
5. Software de apoyo al usuario o software de aplicación general
Dentro de estas cinco áreas se encuentran como tal el software de aplicación que
son aquellos programas que se escriben para y por los usuarios, con el objetivo de
utilizar o instruir a un dispositivo para hacer una tarea específica (Amaya, 2009).
2.3.2. APLICACIONES WEB
Una aplicación web (en inglés: web-based application) es una herramienta que
puede ser utilizada a través de internet o intranet mediante un navegador. Es un tipo
especial de aplicación cliente-servidor, donde tanto el cliente, que puede ser el
navegador, como el servidor (servidor web) y el protocolo mediante el que se
comunican (HTTP) están estandarizados y por tanto no son creados por el
programador de aplicaciones.
El HTTP forma parte de la familia de protocolos de comunicaciones TCP/IP, que
son los empleados por Internet. Estos protocolos permiten la conexión de sistemas
heterogéneos, lo que permite el intercambio de datos entre distintos dispositivos.
HTTP está en el nivel de aplicación (nivel siete) del modelo OSI (Luján, 2002).
2.3.2.1. Cliente
22
El cliente web es un programa con el que interactúa el usuario para solicitar a un
servidor web el envío de los recursos que desea recibir mediante HTTP. Estos
clientes son, principalmente, los navegadores web como Google Chrome, Mozilla
Firefox, Opera, entre otros.
La parte cliente de las aplicaciones web también está formada por código HTML
que forma la página web más algo de código ejecutable realizado en lenguaje de
script del explorador como por ejemplo JavaScript.
La misión de los clientes es la interpretación de las páginas HTML y los diferentes
recursos provenientes como respuesta del servidor web (imágenes, sonidos, video,
etc.)
Algunos de los lenguajes y tecnologías utilizadas para programar el cliente web son:
HTML, CSS, DHTML, JavaScript, VBScript, entre otros.
2.3.2.2. Servidor
Un servidor web es un programa corriendo en un equipo que está escuchando y
esperando permanentemente las solicitudes de conexión mediante el protocolo
HTTP por parte de los clientes web.
De forma general, la parte servidor de una aplicación web está formada por:
documentos HTML (páginas estáticas), recursos multimedia, documentos y demás
que pueden ser empleados dentro de las páginas o estar disponibles para ser
descargados y ejecutados en el cliente.
Figura 1. Arquitectura común de una aplicación web. Fuente: Luján, S. (2002). Programación de aplicaciones web. Alicante: Editorial Club Universitario.
Como lo detalla Luján (2002) el proceso completo, desde que un usuario solicita
una página web, hasta que el navegador se la muestra con el formato apropiado es
el siguiente:
23
1. El usuario especifica en el explorador la dirección de la página que desea
consultar. El usuario puede escribir en el navegador la dirección URL de la
página que desea visitar.
2. El cliente establece una conexión con el servidor web.
3. El cliente solicita la página o el recurso deseado.
4. El servidor envío el recurso o página. En caso de no existir devuelve un
código indicando el error.
5. Si el recurso solicitado es una página HTML, el navegador inicia su proceso
de interpretación de los códigos HTML. Si el cliente web encuentra
instrucciones que hacen referencia a otros recursos que se deben mostrar
(imágenes, animaciones, etc.) establece automáticamente comunicación con
el servidor web para solicitar dichos objetos.
6. Se cierra la conexión entre el cliente y el servidor.
7. Se muestra la página al usuario.
2.3.3. INGENIERÍA DEL SOFTWARE
Pressman (2002) define la Ingeniería del Software como “una disciplina o área de
las Informática o Ciencias de la computación, que ofrece métodos y técnicas para
desarrollar y mantener software de calidad que resuelven problemas de todo tipo”.
Por su parte, Bohem (1976) dice que la Ingeniería del Software es la aplicación
práctica del conocimiento científico en el diseño y construcción de programas de
computadora y la documentación asociada requerida para desarrollar, operar y
mantenerlo.
En otras palabras, la Ingeniería del Software no es más que un conjunto de
herramientas, métodos y procedimientos que son creados con el objetivo de hacer
software eficiente, de calidad y que satisfaga las necesidades o requerimientos para
los que fue desarrollado.
- Objetivos de la Ingeniería del Software
El objetivo primario de la Ingeniería del Software, que puede ser una síntesis y
deducción de las definiciones dadas anteriormente, es construir una solución de
software eficiente que satisfaga las necesidades requeridas por un cliente, para esto
entonces pueden mencionarse algunos objetivos específicos (Cortés, 1998):
a) Promover estándares y modelos que faciliten la comunicación, tanto
para clientes como para especialistas en la elaboración de un
proyecto de software. Las herramientas de la Ingeniería del Software
deben ofrecen medios para la modelización gráfica del producto que se
24
desarrolla, para que todos los involucrados tengan una representación
clara y poco ambigua que ayude a entender el trabajo realizado.
b) Proveer los métodos, herramientas y procedimientos para la
“construcción” eficiente del software. La elaboración de un proyecto
de software debe ser a través de un proceso adecuado.
o Los métodos indican cómo construir técnicamente el software.
o Las herramientas proporcionan un soporte automático o
semiautomático para los métodos. Un ejemplo son las herramientas
asistidas por computadora para la Ingeniería del Software CASE
(Computer Assisted Software Engineering).
o Los procedimientos son la unión que junta los métodos y las
herramientas y facilita el desarrollo racional del software. Éstos
definen la secuencia en la que se aplican los métodos, las entregas y
los controles.
c) Proveer parámetros y criterios de evaluación de la calidad del
software. Existen varias normas y modelos en el software que tratan de
evaluar y medir cómo se presenta la calidad en un producto. Por ejemplo,
los que son generados por organizaciones como la ISO o la IEEE. En la
Tabla 1, se presentan algunos parámetros de calidad del software.
Tabla 1. Parámetros deseables en un software.
PARÁMETRO DETALLE
Compatibilidad Es la facilidad por la cual el software puede ser combinado con otro software
Corrección es la facilidad con la cual los errores latentes pueden ser encontrados y corregidos en el software
Eficiencia Es el grado en que el software utiliza los recursos de hardware de manera efectiva. A menudo la eficiencia se sobre-enfatiza a expensas de otras metas.
Flexibilidad Es la facilidad con la cual el software puede ser modificado para cumplir cambios en los requerimientos.
Mantenibilidad Es una combinación de corrección y flexibilidad
Portabilidad Es la facilidad por la cual un software puede ser transferido de una plataforma de hardware o de software distinta
Confiabilidad Es el grado en que el software funciona correctamente a través del tiempo
Reusabilidad Es la facilidad con que el software puede ser usado para propósitos distintos al original
Robustez Es el grado con que el software sigue funcionando de manera correcta en condiciones anormales.
Salvedad (safety)
Es el grado con el que el software funciona sin daños accidentales
Seguridad Es el grado con el cual el software se protege así mismo de accesos o modificaciones no autorizadas.
25
Testability Es el grado y la facilidad por la cual el software puede ser examinado para su corrección, eficiencia, confiabilidad y robustez.
Comprensión Es la facilidad con la cual los humanos pueden comprender el software y su documentación.
Uso-amigable Es la facilidad con que los humanos pueden usar u operar el software.
Validez Es la facilidad por la cual el software puede demostrar ser correcto.
Verificación Es la facilidad con la que el software puede demostrar cumplir el estándar de desarrollo de procedimientos.
Fuente: Cortés, R. (1998). Introduccion al Análisis de Sistemas y la Ingeniería de Software. San José:
Editorial Universidad Estatal a Distancia.
2.3.4. MODELOS DEL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
El desarrollo de software es algo más que la simple codificación o programación.
Dentro de todo el proceso hay etapas que deben llevarse a cabo, generalmente, en
un orden específico.
Se denomina entonces ciclo de vida del software al conjunto de estas etapas. Los
métodos y técnicas de la Ingeniería del Software se realizan dentro de las
delimitaciones dadas por este ciclo y las fases que hacen parte de él.
Es indispensable que todo proyecto se desarrolle dentro del marco de un ciclo de
vida bien establecido para garantizar el cumplimiento de los tiempos y recursos
asignados. Además las garantías y certificaciones de calidad también presuponen
que el proceso de producción de software se desarrolle según un ciclo de vida con
etapas bien definidas (Campderrich, 2012).
- El ciclo de vida en cascada
En esta propuesta, en cada etapa se obtienen documentos que son la base para
empezar la siguiente etapa, por lo que no se puede empezar una etapa si no se ha
terminado la anterior. En este ciclo nunca se regresa a etapas pasadas.
26
Figura 2. Ciclo de vida en cascada Fuente: Elaboración propia
Como muestra la Figura 2, esta propuesta presenta las siguientes etapas:
a) Análisis previo
b) Análisis de requisitos
c) Diseño
d) Programación
e) Pruebas
f) Mantenimiento
- Los ciclos de vida iterativos e incrementales
El ciclo de vida en cascada presenta algunos inconvenientes y por esta razón se
han presentado modelos alternativos que sean iterativos debido a que el ciclo de
vida en cascada no es realista y el cálculo de la duración y el costo de un proyecto
es muy poco sólido y presenta un gran margen de error.
Además hay un inconveniente mayor, y es que generalmente es muy difícil definir
al inicio de un proyecto los requerimientos de manera tan precisa que garantice que
al paso del tiempo no habrá cambios en ellos.
Entre las propuestas puntuales que presentan esta filosofía incremental está el
Ciclo de vida con prototipos que consiste en un software provisional que prioriza
la facilidad y rapidez en la modificación sobre la funcionalidad; solo sirve para que
los usuarios puedan ver cómo sería el contenido y el posible funcionamiento y
apariencia del software, sin realizar realmente estas funciones. Así por
comparación, los futuros usuarios podrán definir más exactamente qué es lo que
Análisis previo
Análisis de requisitios
Diseño
Programación
Pruebas
Mantenimiento
27
quieren; y por supuesto se puede volver a fabricar otro prototipo y otro más hasta
afinar exactamente en el resultado que buscamos (Campderrich, 2012).
El ciclo de vida del Rational Unified Process también es iterativo e incremental y
se distinguen las siguientes cuatro etapas:
1. Inicio: Se establece la justificación económica y el alcance del proyecto.
2. Elaboración: Se estudia el alcance del software, a quién debe dar cobertura
y se realiza una planificación del proyecto.
3. Construcción: Se desarrolla todo el proyecto de forma iterativa e incremental.
4. Transición: Se entrega el producto al cliente y comprende todo el comienzo
de su utilización, realizando los cambios necesarios y oportunos.
2.3.5. MODELO-VISTA-CONTROLADOR
Es un patrón de arquitectura de software ampliamente usado creado en 1979 por
Tryhve Reenskaug. En este patrón los datos son separados de la lógica de negocio
y de la interfaz de usuario, por lo que se propone la construcción de tres
componentes distintos: el modelo, la vista y el controlador (ver Figura 3).
- Modelo
Es la representación de los datos y reglas de negocio (mundo del problema). Es el
encargado de manejar un registro de las visitas y de los controladores que existen
en el sistema. No tiene conocimiento específico de la Vista ni de los controladores
pero envía a la Vista aquella parte de la información que en cada momento se le
solicita para que sea mostrada. Las peticiones de acceso o manipulación de
información llegan al Modelo a través del Controlador.
- Vista
Permite mostrar la información del modelo en un formato adecuado que permita que
se dé la interacción. Además de poseer un registro acerca del controlador asociado.
En otras palabras es la interfaz de usuario y por tanto no tiene conocimiento del
modelo (Jaramillo, Cardona, & Villa, 2008).
- Controlador
Responde a los eventos provocados por el usuario (se da un clic, se digita un texto,
etc.) que implican cambios en el modelo y la vista, dando una correcta gestión de
las entradas del usuario. También puede enviar comandos la Vista asociada si se
solicita un cambio en la forma en que se presenta el Modelo, podría decirse que el
Controlador es un intermediario entre la Vista y el Modelo.
28
Figura 3. Relación entre el Modelo, la Vista y el Controlador Fuente: Elaboración propia
2.3.6. DJANGO
Django es un framework web de Python de alto nivel que fomenta el desarrollo
rápido, limpio y pragmático. Es construido por desarrolladores con experiencia, y se
encarga de gran parte de la molestia del desarrollo Web, para que quien lo utilice
pueda centrarse en la escritura de su aplicación sin necesidad de reinventar la
rueda. Es gratuito y de código abierto (Django, 2015).
Los creadores de Django defienden la idea que este framework presenta,
principalmente, las siguientes cinco características:
1. Fácil: Django fue diseñado para ayudar a los desarrolladores a realizar las
aplicaciones desde el concepto hasta su finalización lo antes posible.
2. Completo: Django incluye docenas de extras que se pueden utilizar para
manejar tareas comunes de desarrollo Web. Django se encarga de la
autenticación de usuarios, administración de contenidos, mapas del sitio,
canales RSS, y muchas tareas más.
3. Seguro: Django toma en serio la seguridad y le ayuda a los desarrolladores
a evitar muchos errores comunes de seguridad, tales como la inyección SQL,
cross-site scripting, cross-site solicitud falsificación y clickjacking. Su sistema
de autenticación de usuario ofrece una manera segura para administrar
cuentas de usuario y contraseñas.
4. Escalable: Algunos de los sitios más concurridos del planeta utilizan la
capacidad de Django para escalar con rapidez y flexibilidad y satisfacer las
demandas de tráfico más pesado.
5. Versátil: Empresas, organizaciones y gobiernos han usado Django para
construir todo tipo de cosas - desde sistemas de gestión de contenidos para
redes sociales hasta plataformas de computación científica.
A pesar de que Django está robustamente inspirado en la arquitectura de software
Modelo-Vista-Controlador, sus creadores defienden públicamente que no se sienten
atados a definir estrictamente ningún paradigma particular, y en cambio prefieren
hacer "lo que les parece correcto". Como resultado, por ejemplo, lo que se llamaría
"controlador" en un "verdadero" framework MVC se llama en Django "vista", y lo que
Controlador
VistaModelo
29
se llamaría "vista" se llama "plantilla". Esto genera una arquitectura que es llamada
Modelo-Vista-Template.
- Diseñar un modelo
Django puede ser utilizado sin una base de datos específica ya que viene con un
mapeador objeto-relacional en el que se puede describir el diseño de la base de
datos en código Python.
Si no se especifica otra, Django automáticamente trabaja con el sistema gestor de
bases de datos relacional SQLite del que se habla de manera más detallada más
adelante en este documento.
La sintaxis del modelo de datos ofrece varias maneras de representar los modelos
lo que representa una solución a los problemas en la definición de los esquemas de
bases de datos. Los modelos se codifican en un archivo llamado “modelos.py” que
está presente en una de las carpetas que se crean cuando se inicia un nuevo
proyecto en Django.
Ejemplo codificado en Python 3:
from django.db import models
class Reporter(models.Model):
full_name = models.CharField(max_length=70)
def __str__(self):
return self.full_name
class Article(models.Model):
pub_date = models.DateField()
headline = models.CharField(max_length=200)
content = models.TextField()
reporter = models.ForeignKey(Reporter)
def __str__(self):
return self.headline
30
- Codificar una vista
Cada vista es responsable de hacer una de dos cosas: devolver un objeto
HttpResponse que representa el contenido de una página asociada, o lanzar una
excepción como Http404. Es resto depende del desarrollador.
Generalmente, una vista recupera los datos de acuerdo con los parámetros, carga
una plantilla y renderiza la plantilla con los datos recuperados. Aquí está una vista
de relacionada al ejemplo mostrado anteriormente:
from django.shortcuts import render
from .models import Article
def year_archive(request, year):
a_list = Article.objects.filter(pub_date__year=year)
context = {'year': year, 'article_list': a_list}
return render(request, 'news/year_archive.html', context)
- Diseñar una plantilla (Template)
Django tiene una ruta de búsqueda de plantillas, lo que le permite minimizar la
redundancia ente las plantillas. En la configuración de Django, se especifica una
lista de directorios para comprobar si hay plantillas con directorios. Si una plantilla
no existe en el primer directorio, Django comprueba el segundo y así
sucesivamente.
Así luce una plantilla de Django:
{% extends "base.html" %}
{% block title %}Articles for {{ year }}{% endblock %}
{% block content %}
<h1>Articles for {{ year }}</h1>
{% for article in article_list %}
<p>{{ article.headline }}</p>
<p>By {{ article.reporter.full_name }}</p>
<p>Published {{ article.pub_date|date:"F j, Y" }}</p>
{% endfor %}
31
{% endblock %}
2.3.7. SQLITE
SQLite es el nombre dado a un SBD (Sistema de base de datos) de código abierto
cuya principal diferencia es que en lugar de ser un SBD estándar, está contenido en
una biblioteca escrita en lenguaje C. Un SBD clásico es un programa que crear y
gestiona los datos de una base de datos al que se accede externamente por
programas que requieren este tipo de datos. SQLite, sin embargo, no es un
programa, sino una biblioteca de código que implementa una base de datos y es
manipulada por el programa mediante llamadas a funciones (Benítez & Arias, 2015).
Por lo general, SQLite no requiere instalación, basta con integrarlo de forma
convencional como una biblioteca de código escrita para el programa, lo que permite
incorporarlo al sistema. Esto es muy útil en un sistema con base de datos donde no
hay posibilidad de organizar un servidor de bases de datos para acceso.
SQLite es especialmente utilizado en aplicaciones que requieren almacenar y
acceder a datos de forma rápida, pero que no pueden acceder a una base de datos
externa como navegadores, clientes de correo electrónico, Android y sitios web.
Este SBD es compatible con los comandos que permiten crear, actualizar y eliminar
tablas, así como consultas y triggers.
32
3. ESPECIFICACIÓN DE LA SOLUCIÓN
3.1. REQUERIMIENTOS
El primer paso para el desarrollo de la aplicación web que permite la sistematización
de la entrada de bovinos en la Plata de Beneficio Animal fue la recolección y
documentación de requerimientos. Esta elicitación se hizo a través de procesos de
entrevista con encargados del área de recepción y directivos de la empresa. En total
fueron realizadas 3 reuniones.
A continuación se muestra el detalle de cada uno de los requerimientos tanto
funcionales como no funcionales que la plataforma debe satisfacer.
Tabla 2. Requerimiento No.1: Módulo de autenticación.
Número 1
Nombre Módulo de Autenticación
Versión 1.0
Descripción
Se requiere la realización de un módulo de autenticación
que discrimine entre tipo de usuarios (Administradores Y
Operarios) para gestionar las interfaces y permisos que
pueden tener cada grupo de usuarios.
Clasificación Funcional, Seguridad
Estado Aprobado
Creado en 22 de junio de 2015
Fuente: Elaboración propia
Tabla 3. Requerimiento No. 2: Permisos de usuarios
Número 2
Nombre Permisos de Usuarios
Versión 1.0
Descripción
El sistema deberá tener un módulo para que el
administrador cree y gestione grupos de usuarios.
A continuación se detallan las funciones generales que
puede realizar cada grupo de usuarios.
Administradores: Acceso total a todo el sistema.
Operarios: Entrada de Bovinos, edición de sus entradas.
Clasificación Funcional, Seguridad
Estado Aprobado
Creado en 12 de junio de 2015
Fuente: Elaboración propia
33
Tabla 4. Requerimiento No. 3: Módulo de Administración de Usuarios
Número 3
Nombre Módulo de Administración de Usuarios
Versión 1.0
Descripción
Realizar un módulo para la administración de usuarios, de
manera que el usuario de perfil ‘Administrador’ pueda
crear, listar, editar y eliminar usuarios (CRUD)1
Clasificación Funcional, Seguridad
Estado Aprobado
Creado en 22 de junio de 2015
Fuente: Elaboración propia
Tabla 5. Requerimiento No. 4: Imagen corporativa para la aplicación
Número 4
Nombre Imagen corporativa para la aplicación
Versión 1.0
Descripción
La interfaz gráfica del software debe incluir en un lugar
visible el logo de Carnes y Derivados La Pradera, así como
utilizar los colores institucionales en los elementos gráficos.
Clasificación No funcional, Interfaz
Estado Aprobado
Creado en 22 de junio de 2015
Fuente: Elaboración propia
Tabla 6. Requerimiento No. 5: Software Web
Número 5
Nombre Software Web
Versión 1.0
Descripción
El software debe ser desarrollado en un ambiente web, de
tal manera que pueda ser accedido desde cualquier
dispositivo, y el almacenamiento de la información debe
estar de igual manera centralizado en un servidor, para que
cualquier cambio o actualización que se realice pueda ser
consultada por cualquier tipo de usuario al instante.
Clasificación No Funcional
Estado Aprobado
Creado en 12 de junio de 2015
Fuente: Elaboración propia
1 Es el acrónimo de Crear, Obtener, Actualizar y Borrar (del original en inglés: Create, Read, Update and Delete)
34
Tabla 7. Requerimiento No. 6: Interfaz Adaptable
Número 6
Nombre Interfaz Adaptable
Versión 1.0
Descripción
La interfaz del software debe contener una estructura
adaptable, de manera que en cualquier resolución de
pantalla pueda ser visualizada toda la información sin
inconvenientes.
Clasificación No Funcional, Interfaz
Estado Aprobado
Creado en 12 de junio de 2015
Fuente: Elaboración propia
Tabla 8. Requerimiento No. 7: Formulario Primera Fase
Número 7
Nombre Formulario Primera Fase
Versión 1.0
Descripción
Es requerida la creación de un formulario para la primera
fase del proceso de faenado en la empresa, el cual permita
ingresar los datos: identificador del formulario, guía ICA, lista
de bovinos, cantidad de animales, persona que recibe,
dirección de procedencia y nombre del proveedor. Revisar
el formato físico que se utiliza actualmente en la empresa
para verificar que se contengan todos los datos y en el orden
especificado en el mismo.
Clasificación Funcional
Estado Aprobado
Creado en 22 de junio de 2015
Fuente: Elaboración propia
Tabla 9. Requerimiento No. 8: Registro de Bovino en Primera Fase
Número 8
Nombre Registro de Bovino en Primera Fase
Versión 1.0
Descripción
En el registro realizado en el formulario de la primera fase,
deben incluirse unos datos específicos sobre cada bovino,
en el siguiente orden: Número del bovino, quemadura, peso
factura, peso entrada, peso salida y fecha de salida. La
cantidad máxima de bovinos que se pueden registrar por
35
cada formulario es de 16, ya que en una entrega caben
máximo 16 bovinos en el transporte.
Clasificación Funcional
Estado Aprobado
Creado en 22 de junio de 2015
Fuente: Elaboración propia
Tabla 10. Requerimiento No. 9: Impresión de Formularios
Número 9
Nombre Impresión de Formularios
Versión 1.0
Descripción
Cuando un operario haya finalizado total o parcialmente un
formulario, tendrá la opción de imprimir para poder tener una
copia física del mismo cuando sea requerido. Igualmente el
administrador podrá solicitar impresiones de cualquier
formulario.
Clasificación Funcional
Estado Aprobado
Creado en 22 de junio de 2015
Fuente: Elaboración propia
Tabla 11. Requerimiento No. 10: Búsquedas y filtros por fechas
Número 10
Nombre Búsquedas y filtros por fecha
Versión 1.0
Descripción
El sistema deberá proporcionar una herramienta para
buscar y filtrar por rangos de fechas las entradas de bovinos
registradas en el sistema
Clasificación Funcional
Estado Aprobado
Creado en 22 de junio de 2015
Fuente: Elaboración propia
36
3.2. DIAGRAMAS DE CASOS DE USO
Figura 4. Casos de Uso: Sistema General Fuente: Elaboración propia
Figura 5. Casos de Uso: Autenticarse Fuente: Elaboración propia
37
Figura 6. Casos de Uso: Administrar Cuenta Fuente: Elaboración propia
Figura 7. Casos de Uso: Consultar Fuente: Elaboración propia
38
Figura 8. Casos de Uso: Gestionar Entrada de Ganado Fuente: Elaboración propia
Figura 9. Casos de Uso: Administrar Usuarios Fuente: Elaboración propia
39
3.3. DICCIONARIO DE CASOS DE USO
Tabla 12. Caso De Uso: Autenticarse # 1
Caso de Uso: Autenticarse
Actores: Operario, Administrador
Resumen: El usuario introducirá su usuario y contraseña para ser validado por el sistema
Pre condiciones : El usuario debe estar registrado en la base datos.
Post condiciones: El usuario habrá sido validado y se remitirá a la interfaz respectiva para cada tipo de usuario.
Flujo principal: Se presenta la pantalla login en donde el usuario debe ingresar el nombre de usuario y la contraseña. El sistema valida los datos introducidos, se presenta la pantalla según el rol del usuario.
Sub flujos: Si el usuario no se encuentra registrado en la base de datos, o su contraseña ha sido incorrecta se mostrará un mensaje de error.
Fuente: Elaboración propia
Tabla 13. Caso De Uso: Administrar Cuenta # 2
Caso de Uso: Administrar Cuenta
Actores: Operario, Administrador
Resumen: El usuario gestiona la información de su cuenta.
Pre condiciones : El usuario debe haber iniciado sesión.
Post condiciones: Se informa la usuario si los cambios han sido realizados satisfactoriamente o no.
Flujo principal: Se muestra una pantalla con la información editable del usuario la cual es su nombre, y contraseña. El usuario no podrá editar su identificador, ni estado, ni tipo de usuario (permisos).
Sub flujos: Si ocurrió algún error al intentar actualiza la información, se debe informar al usuario que ha ocurrido un error.
Fuente: Elaboración propia
Tabla 14. Caso De Uso: Gestionar Entrada de Ganado
# 3
Caso de Uso: Gestionar Entrada de Ganado
Actores: Operario, Administrador
Resumen: El usuario gestiona los registros del formulario de Entrada de Ganado, registra nuevas entradas. El administrador puede consultar registros de entrada almacenados por su número consecutivo, editar e imprimir.
Pre condiciones : El Operario o Administrador debe haber iniciado sesión
40
Post condiciones: Se confirma al usuario que el nuevo registro ha sido realizado satisfactoriamente, o si sucedió lo contrario, comunicar el error.
Flujo principal: Se muestra una pantalla con los campos editables: Propietario, cantidad, guía ICA (adjuntar scan de guía), procedencia, proveedor, y los datos de cada res (quemadura, peso factura, peso entrada, peso salida y fecha salida). Para posteriormente guardar el registro e imprimir si es necesario. El Administrador podrá editar el campo número (consecutivo) y cargar en la interfaz la información correspondiente a dicho registro para poder editarlo, o imprimir.
Sub flujos: Si ocurrió algún error al intentar actualiza la información, se debe informar al usuario.
Fuente: Elaboración propia
Tabla 15. Caso De Uso: Administrar Usuarios # 6
Caso de Uso: Administrar Usuarios
Actores: Administrador
Resumen: El administrador podrá crear usuarios nuevos ingresando la información requerida (nombre, identificación, contraseña, estado y tipo de usuario). Igualmente podrá editar alguna información de los usuarios ya creados (contraseña, tipo, estado y nombre).
Pre condiciones : El Administrador debe haber iniciado sesión
Post condiciones: Se confirma al usuario que el nuevo registro ha sido realizado satisfactoriamente, o si sucedió lo contrario, comunicar el error.
Flujo principal: Se muestra una pantalla para crear usuarios con los campos (Nombre, identificación, contraseña, estado y tipo de usuario), y un segundo formulario igual, con autocompletado en los campos, nombre, e identificación para así cargar usuarios ya almacenados y poder editar los campos (contraseña, tipo, estado y nombre).
Sub flujos: Si ocurrió algún error al intentar actualizar la información, se debe informar al usuario.
Fuente: Elaboración propia
Tabla 16. Caso De Uso: Consultar entradas # 7
Caso de Uso: Consultar
Actores: Operario, Administrador
Resumen: Podrá visualizarse el registro de reses ingresadas al sistema perteneciente a un cliente en específico.
Pre condiciones : El Operario o Administrador deberá haber iniciado sesión.
Post condiciones: Se muestra un listado con las entradas y reses registradas
Flujo principal: El usuario selecciona un rango de fechas y da clic en “buscar”.
41
Se muestra una tabla al usuario con todas las reses registradas en el intervalo seleccionado, y su respectiva fecha de entrada, quemadura, peso de factura y peso de entrada.
Sub flujos Si no hay entradas en el rango de fecha seleccionado debe informarse al usuario.
Fuente: Elaboración propia
Tabla 17. Caso De Uso: Imprimir entradas # 7
Caso de Uso: Imprimir entradas
Actores: Operario, Administrador
Resumen: Después de realizar una búsqueda o estando en el formulario de una entrada, podrá imprimirse los datos de ésta.
Pre condiciones : El Operario o Administrador deberá haber iniciado sesión y estar dentro del formulario de una entrada
Post condiciones: Hoja(s) impresa(s) con la información de la entrada
Flujo principal: Después que el usuario está dentro del detalle de una entrada éste da clic en “imprimir” configura la impresora y obtiene la información en papel.
Sub flujos: Si hay un error en la impresión, debe informarse al usuario.
Fuente: Elaboración propia
42
3.4. DISEÑO DE BASE DE DATOS
Figura 10. Diseño de base de datos Fuente: Elaboración propia
3.4.1. Diccionario de datos
Tabla 18. Diccionario de datos: Usuario
Fuente: Elaboración propia
Usuario
Column name DataType PK NN UQ Default Comment
idUsuario INT ✔ ✔ Identificador único de cada usuario
nombreUsuario VARCHAR(45) Nombre del usuario para el inicio de sesión
nombre VARCHAR(45) Nombre(s) del usuario
apellidos VARCHAR(45) Apellidos
email VARCHAR(45) Dirección de correo electrónico
43
Tabla 19. Diccionario de datos: Permiso Grupos Fuente: Elaboración propia
Tabla 20. Diccionario de datos: Grupo
Fuente: Elaboración propia
Tabla 21. Diccionario de datos: Entrada
Entrada
Column name DataType PK NN UQ Default Comment
idEntrada INT ✔ ✔ Identificador único de la entrada
guiaIca VARCHAR(45) Número de la guía del ICA
propietario VARCHAR(45) Nombre del propietario
Fecha DATE Fecha de entrada del ganado
Hora TIME Hora de entrada del ganado
procedencia VARCHAR(45) Nombre de la finca o sitio de donde provienen los bovinos
proveedor VARCHAR(45) Nombre del proveedor
recepcion VARCHAR(45) Persona que recibe
operario INT ID del operario que recibe
Fuente: Elaboración propia
esActivo BOOLEAN(1) Identifica si el usuario está activo o no
esAdministrador BOOLEAN(1) Identifica si el usuario es administrador
idGrupo INT ID del grupo al que pertenece
fechaUltimoInicioSedion DATE Fecha del último inicio de sesión
fechaCreacion DATE Fecha en que se creó la cuenta
PermisoGrupos
Column name DataType PK NN UQ Default Comment
idPermisosGrupo INT ✔ ✔ Identificador único de cada permiso de grupo
nombrePermiso VARCHAR(45) Nombre del permiso
Grupo
Column name DataType PK NN UQ Default Comment
idGrupo INT ✔ ✔ Identificador único del grupo
nombreGrupo VARCHAR(45)
Nombre del gurpo
44
Tabla 22. Diccionario de datos: Animal
Animal
Column name DataType PK NN UQ Default Comment
idAnimal INT ✔ ✔ Identificador único del animal
numeroQuemadura VARCHAR(45) Número de la quemadura
peroFactura DECIMAL Peso descrito en la factura
pesoEntrada DECIMAL Peso al momento de entrar al corral
pesoSalida DECIMAL Peso al momento de salir del corral
entrada INT ID de la entrada a la que pertenece el animal
Fuente: Elaboración propia
45
3.5. DISEÑO DE INTERFACES
3.5.1. Módulo de Autenticación
Figura 11. Interfaz Módulo De Autenticación Fuente: Elaboración propia.
46
3.5.2. Módulo de Entrada de Ganado
Figura 12. Interfaz Módulo de Entrada de Ganado Fuente: Elaboración propia
47
3.5.3. Módulo de Consultas
Figura 13. Interfaz Módulo de Consultas Fuente: Elaboración propia.
48
3.6. DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA Y ENTORNO
TECNOLÓGICO
3.6.1. Arquitectura del sistema
Debido al requerimiento número 5 (ver Tabla 6) que indica que el software a realizar
debe ser un aplicativo web, se considera una arquitectura cliente - servidor. Como
puede apreciarse en la Figura 14, en esta arquitectura es necesario contar con un
servidor web y de base de datos, un sistema de comunicaciones inalámbrico y
terminales móviles como tablets y celulares con navegadores web.
Se utiliza la red de la empresa y no es necesaria la contratación de un hosting con
dominio público debido a que el aplicativo será utilizado únicamente dentro de la
organización.
Figura 14. Arquitectura del Sistema Fuente: Elaboración propia
Para el proceso de entrada de bovinos, los operarios utilizarán tablets en las que
podrán interactuar con el aplicativo web para el registro de nuevas entradas y para
realizar consultas en el sistema. Por su parte los funcionarios encargados del área
contable y demás sectores administrativos podrán utilizar sus computadores
portátiles o de escritorio para hacer también consultas.
Se utilizará el servidor web que por defecto proporciona Django corriendo en el
sistema operativo Ubuntu Server.
49
3.7. CODIFICACIÓN
3.7.1. Instalación y configuración del Framework Django
Antes de poder usar Django, es necesario instalarlo. Para esto es importante tener
en cuenta que Django es un Framework web de Python por tanto éste debe estar
instalado en el sistema.
La última versión de Python puede ser descargada desde el sitio oficial
https://www.python.org/download/ o con el paquete del sistema operativo
respectivo. Puede verificarse si Python está instalado escribiendo la palabra
“Python” en la consola (Shell). En Linux debe aparecer algo como esto:
Python 3.3.3 (default, Nov 26 2013, 13:33:18)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more
information.
>>>
Es posible que se quiera instalar una base de datos robusta como PostgreSQL o
MySQL. En el caso del presente proyecto, como se ha mencionado, se hará uso de
SQLite. Este SBD no debe ser instalado.
La instalación de Django se realizó, inicialmente, en un sistema operativo Windows
7 a través de pip2. Para esto en una ventana de Símbolo del Sistema se ejecuta la
siguiente línea:
pip install Django
3.7.2. Creación de un proyecto en Django
En el Shell, y después de estar ubicado en la carpeta donde quiere crearse el
proyecto, se ejecuta la línea:
django-admin startproject <nombreDelProyecto>
Esto crea un conjunto de elementos como sigue:
<nombreDelProyecto>/
manage.py
<nombreDelProyecto>/
__init__.py
settings.py
urls.py
2 Pip es un acrónimo que puede referirse a “Pip Installs Python” o “Pip Installs Packages”.
50
wsgi.py
Cada aplicación que se escribe en Django consiste de un paquete de Python que
sigue una cierta convención. Django viene con una utilidad que automáticamente
genera una estructura de directorios básica de una aplicación.
Para crear una aplicación, es importante desde la consola estar ubicado en el mismo
directorio del archivo “manage.py”, posteriormente se ejecuta el siguiente comando:
python manage.py startapp <nombreApp>
Esto crea una estructura de directorio así:
<nombreApp>/
__init__.py
admin.py
migrations/
__init__.py
models.py
tests.py
views.py
3.7.3. Creación de modelos en Django
Dentro del archivo “models.py” se crean el modelo de base de datos que contendrá
la aplicación. La Figura 15, muestra algunas de los modelos creados para el caso
del aplicativo software desarrollado para la Planta de Beneficio Animal “Carnes y
Derivados La Pradera”.
51
Figura 15. Codificación de modelos en Django Fuente: Elaboración propia
Después de realizar esto se corre el siguiente comando:
python manage.py makemigrations <nombreApp>
y posteriormente, este otro:
python manage.py migrate
3.7.4. Servidor de desarrollo de Django
Django cuenta con un servidor escrito completamente en python que permite
ejecutar pruebas de manera rápida sin tener que configurar servidores en
producción como Apache.
El comando para ejecutarlo es el siguiente:
python manage.py runserver <IP>:<puerto>
en <IP> es posible especificar la dirección IP donde corre el servidor como también
el puerto, escribiéndolo en el comando en el lugar de <puerto>. La , muestra la
ejecución del servidor de Django, además se pueden observar dos solicitudes GET
HTTP. También puede notarse que la dirección IP donde corre el servidor es
192.168.0.4 y el puerto es 8000.
Figura 16. Ejecución del servidor de Django Fuente: Elaboración propia
52
3.8. PRUEBAS
3.8.1. Pruebas de verificación de requerimientos
Requerimiento general
Requerimiento específico Cumplimiento
Sí No
Administración de usuarios
Crear usuario X
Editar usuario X
Eliminar usuario X
Listar usuarios X
Administración de grupos de usuarios
Crear grupo X
Editar grupo X
Eliminar grupo X
Listar grupos X
Administración de entradas
Crear entrada X
Editar entrada X
Eliminar entrada X
Listar entradas X
Imprimir entrada X
Administración de animales
Crear animal X
Editar animal X
Listar animales X
Consultas Consulta de entradas por rango de fechas X
Autenticación Autenticación de administradores X
Autenticación de operarios X
3.8.2. Pruebas de la caja negra
Nombre del Proyecto: Sistema de Información “Carnes y Derivados La Pradera”
Módulo: Crear usuario
Responsables: Camilo Leyton
Objetivo: Determinar si la aplicación crea correctamente los usuarios
Personal Requerido: Usuario administrador
Datos de Prueba: Parámetros para crear un usuario
Procedimiento de Prueba: Se ejecuta la aplicación y se ingresan los datos necesarios para crear un usuario.
Resultado Esperado: Crear correctamente un usuario.
Resultado Obtenido: Prueba exitosa SI(X) NO()
Comentarios: Prueba OK. Los datos están ingresados correctamente en la base de datos, y al terminar el proceso se muestra la consulta del usuario.
Nombre del Proyecto: Sistema de Información “Carnes y Derivados La Pradera”
Módulo: Editar usuario
Responsables: Camilo Leyton
53
Objetivo: Determinar si la aplicación edita correctamente un usuario e impide la duplicación del nombre de usuario
Personal Requerido: Usuario administrador
Datos de Prueba: Parámetros para editar un usuario
Procedimiento de Prueba: Se ejecuta la aplicación y se ingresan los datos necesarios para editar un usuario.
Resultado Esperado: Mensaje de advertencia indicando que se no se puede editar el usuario porque el nombre de usuario ya existe
Resultado Obtenido: Prueba exitosa SI(X) NO()
Comentarios: Prueba OK. El sistema validó y mostró el mensaje de error.
Nombre del Proyecto: Sistema de Información “Carnes y Derivados La Pradera”
Módulo: Eliminar usuario
Responsables: Camilo Leyton
Objetivo: Determinar si la aplicación elimina correctamente los usuarios
Personal Requerido: Usuario administrador
Datos de Prueba:
Procedimiento de Prueba: Se ejecuta la aplicación, busca al usuario y se da clic en eliminar
Resultado Esperado: Eliminar correctamente un usuario.
Resultado Obtenido: Prueba exitosa SI(X) NO()
Comentarios: Prueba OK. Los datos están ingresados correctamente en la base de datos y se muestra un mensaje indicando que la acción fue correcta.
Nombre del Proyecto: Sistema de Información “Carnes y Derivados La Pradera”
Módulo: Crear grupos de usuarios
Responsables: Camilo Leyton
Objetivo: Determinar si la aplicación crea correctamente los grupos de usuarios
Personal Requerido: Usuario administrador
Datos de Prueba: Parámetros para crear un grupo
Procedimiento de Prueba: Se ejecuta la aplicación y se ingresan los datos necesarios.
Resultado Esperado: Crear correctamente un grupo de usuarios
Resultado Obtenido: Prueba exitosa SI(X) NO()
Comentarios: Prueba OK. Los datos están ingresados correctamente en la base de datos, y al terminar el proceso se muestra la consulta del grupo.
Nombre del Proyecto: Sistema de Información “Carnes y Derivados La Pradera”
Módulo: Eliminar grupo de usuarios
Responsables: Camilo Leyton
Objetivo: Determinar si la aplicación elimina correctamente un grupo de usuarios
54
Personal Requerido: Usuario administrador
Datos de Prueba:
Procedimiento de Prueba: Se ejecuta la aplicación, se busca el grupo y se da clic en eliminar
Resultado Esperado: Eliminar correctamente un grupo
Resultado Obtenido: Prueba exitosa SI(X) NO()
Comentarios: Prueba OK. Los datos están ingresados correctamente en la base de datos y se muestra un mensaje indicando que la acción fue correcta.
Nombre del Proyecto: Sistema de Información “Carnes y Derivados La Pradera”
Módulo: Crear entradas de animales
Responsables: Camilo Leyton
Objetivo: Determinar si la aplicación crea correctamente entrada de animales y cuenta correctamente la cantidad de animales.
Personal Requerido: Usuario administrador
Datos de Prueba: Parámetros para crear una entrada
Procedimiento de Prueba: Se ejecuta la aplicación y se ingresan los datos necesarios.
Resultado Esperado: Crear correctamente una entrada
Resultado Obtenido: Prueba exitosa SI(X) NO()
Comentarios: Prueba OK. Los datos están ingresados correctamente en la base de datos, y al terminar el proceso se muestra la consulta del grupo donde puede verse que el número de animales coincide.
Nombre del Proyecto: Sistema de Información “Carnes y Derivados La Pradera”
Módulo: Autenticar un operario
Responsables: Camilo Leyton
Objetivo: Determinar si la aplicación valida una contraseña incorrecta al momento de iniciar sesión
Personal Requerido: Usuario operario
Datos de Prueba: Parámetros para iniciar sesión
Procedimiento de Prueba: Se ejecuta la aplicación y se ingresan los datos necesarios.
Resultado Esperado: Advertir que la contraseña es incorrecta y NO permitir el inicio de sesión
Resultado Obtenido: Prueba exitosa SI(X) NO()
Comentarios: Prueba OK. La aplicación muestra un mensaje advirtiendo que la contraseña es incorrecta.
55
3.8.3. Pruebas de visualización y adaptabilidad en dispositivos móviles
Figura 17. Prueba en móvil: Inicio de sesión Fuente: Elaboración propia
Figura 18. Prueba en móvil: página principal Fuente: Elaboración propia
56
Figura 19. Prueba en móvil: ingresar entrada Fuente: Elaboración propia
Figura 20. Prueba en móvil: ingresar animales Fuente: Elaboración propia
57
Figura 21. Prueba en móvil: crear usuario Fuente: Elaboración propia
Figura 22. Prueba en móvil: creación de grupos
58
4. CONCLUSIONES
Las empresas de todo tipo, inclusive aquellas que pareciera que no tienen relación
como las Plantas de Beneficio Animal deben aprovechar los beneficios de las TIC
para sus procesos. Con la implementación de este software en la Planta de
Beneficio Animal “Carnes y Derivados La Pradera” se mejorará notablemente el
tiempo de ejecución de las actividades, la seguridad de la información y la
trazabilidad en la entrada de bovinos.
El proceso llevado a cabo permitió el reconocimiento y uso de los elementos de la
Ingeniería del Software y todos los procedimientos óptimos para realizar un
aplicativo web. Además este proyecto posibilitó descubrir otros sectores de actividad
económica donde el uso de herramientas TIC tiene grandes beneficios y puede ser
un mercado potencial para los desarrolladores de software.
En el desarrollo de aplicativos web, el uso de un framework como Django no sólo
facilita el trabajo sino que permite la creación de sitios más seguros, escalables, con
una administración más sencilla y en general de mayor calidad. Esto se debe a que
ya traen implementadas muchas funcionalidades probadas y capaces de soportar
desde las aplicaciones más sencillas hasta las más robustas.
Se pudo comprobar una de las mayores recomendaciones en el desarrollo de
software a la que comúnmente se refiere con la frese “no reinventar la rueda”, pues
con la utilización de Django no fue necesaria la codificación de elementos que a
simple vista son fáciles pero que generan gran trabajo como la encriptación de las
contraseñas, inicio de sesión, módulo administrador, entre otras cosas.
59
5. RECOMENDACIONES
.
El proceso de Elicitación o Levantamiento de requerimientos en la medida de lo
posible debe realizarse con ayuda de las personas que verdaderamente están
involucradas en los procesos en los que el software va a interactuar puesto que el
detalle del conocimiento de estos elementos es fundamental para que el producto
final satisfaga todas las necesidades para las que es creado.
Para que el Sistema de Información desarrollado en el presente proyecto pueda ser
verdaderamente útil dentro de la Plan de Beneficio Animal “Carnes y Derivados La
Pradera” son necesarios algunos procesos de capacitación en el uso de dispositivos
móviles y además en la utilización del aplicativo web con el fin de que para los
operarios y administrativos sea entendible y fácil el uso de este software.
Los sistemas de comunicaciones inalámbricos son otro punto clave en el despliegue
de este sistema, por lo que esta empresa debe realizar una revisión y mejora, de
ser necesario, de todos sus equipos y red inalámbrica para garantizar que en las
áreas donde se recibe el ganado haya cobertura suficiente para que el aplicativo
funcione de manera correcta.
60
6. LISTA DE REFERENCIAS
Alcaldía Municipal Pradera. (s.f.). Nuestro municipio. Recuperado el 4 de noviembre
de 2015, de Pradera: http://www.pradera-
valle.gov.co/informacion_general.shtml
Amaya, J. (2009). Sistemas de Información. Bogotá: Ecoe Ediciones.
Aritmos Global Technology Solutions. (2014). Aritmos. Recuperado el 31 de Marzo
de 2015, de Sage X3 Enterprise Industrias Cárnicas:
http://aritmos.com/uploads/Sage-ERP-X3-meat-carnicas-aritmos.pdf
Benítez, M., & Arias, Á. (2015). Curso de Introducción a la Administración de Bases
de datos. CreateSpace Independent Publishing Platform.
Bohem, B. (1976). Software Engineering. IEEE Transactions(12), 1226-1241.
Campderrich, B. (2012). Ingeniería del Software. Catalunya: UOC.
Concejo Municipio Pradera. (2012). Plan de Desarrollo Municipio Pradera.
Recuperado el 4 de noviembre de 2015, de http://pradera-valle.gov.co/apc-
aa-
files/34353136316661336639366562633534/ACUERDO_No.006_PLAN_D
ESARROLLO_2012_2015.pdf
Cortés, R. (1998). Introduccion al Análisis de Sistemas y la Ingeniería de Software.
San José: Editorial Universidad Estatal a Distancia.
De Pablos, C., López, J. J., Romo, S., & Medina, S. (2004). Informática y
comunicaciones en la empresa. Madrid: ESIC Editorial.
Django. (2015). Meet Django. Recuperado el 4 de octubre de 2015, de Django:
https://www.djangoproject.com/
Grupo Edisa. (s.f.). Software de gestión ERP para el sector: Productos cárnicos.
Recuperado el 28 de Marzo de 2015, de
http://www.edisa.com/clientes/sectores/sector-agroalimentario/productos-
carnicos/
Jaramillo, S., Cardona, S., & Villa, D. (2008). Programación avanzada en Java.
Armenia: Ediciones Elizcom.
KaisFS. (2014). Software para empresas de alimentación. Recuperado el 6 de
noviembre de 2015, de http://kaisfs.com/descargas/KaisFSWEB.pdf
Luján, S. (2002). Programación de aplicaciones web. Alicante: Editorial Club
Universitario.
61
Pressman, R. (2002). Ingeniería del Software: un enfoque práctico (Quinta ed.).
Madrid: McGraw Hill.
SONDA. (s.f.). Gobierno y Sector Público. Recuperado el 2 de Abril de 2015, de
Trazabilidad Ganadera: http://www.sonda.com/trazabilidad-ganadera/
TecnoCarnes. (s.f.). Software especializado para la industria carnica. Recuperado
el 5 de Abril de 2015, de http://www.tecnocarnes.com/trazabilidad.html