Upload
ngophuc
View
218
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE
REGISTROS DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA
ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA.
TRABAJO DE GRADUACIÓN, PREVIO A LA OBTENCIÓN DEL TÍTULO DE
INGENIERO INFORMÁTICO
AUTOR: NATALÍ ELIZABETH LASCANO ROBALINO
TUTOR: ING. MILTON GIOVANNY MONCAYO UNDA, MSC.
QUITO, 03 DE OCTUBRE
2016
ii
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
Yo, Natalí Elizabeth Lascano Robalino en calidad de autor del proyecto de integración:
DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE REGISTROS
DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA ENTRE
PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA, autorizo a la
Universidad Central del Ecuador hacer uso de todos los contenidos que me pertenecen o
parte de los que contiene esta obra, con fines estrictamente académicos o de investigación.
Los derechos que como autores me corresponden, con excepción de la presente
autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en los
artículos 5, 6, 8; 19 y demás pertinentes de la Ley de Propiedad Intelectual y su
Reglamento.
Asimismo, autorizo a la Universidad Central del Ecuador para que realice la digitalización
y publicación de este trabajo de investigación en el repositorio virtual, de conformidad a
lo dispuesto en el Art. 144 de la Ley Orgánica de Educación Superior.
En la ciudad de Quito, a los 01 días de agosto de 2016.
-----------------------------------------
Natalí Elizabeth Lascano Robalino
CC: 1803904539
Telf. 0983769835
Dirección electrónica: [email protected]
iii
CERTIFICACIÓN DEL TUTOR
Yo, Milton Giovanny Moncayo Unda en calidad de tutor del trabajo de titulación
DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE REGISTROS
DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA ENTRE
PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA, elaborado
por el estudiante Natalí Elizabeth Lascano Robalino de la Carrera de Ingeniería
Informática, Facultad de Ingeniería Ciencias Físicas y Matemática de la Universidad
Central del Ecuador, considero que el mismo reúne los requisitos y méritos necesarios en
el campo metodológico y en el campo epistemológico, para ser sometido a la evaluación
por parte del jurado examinador que se designe, por lo que lo APRUEBO, a fin de que el
trabajo Proyecto de Integración sea habilitado para continuar con el proceso de titulación
determinado por la Universidad Central del Ecuador.
En la ciudad de Quito, a los 01 días del mes de agosto de 2016.
Firma del Tutor
ING. MILTON GIOVANNY MONCAYO UNDA, MSC.
CC: 1718933383
Correo electrónico: [email protected]
vii
DEDICATORIA
A Dios y a la Santísima Virgen de Agua Santa por guiarme
en cada momento de mi vida.
A mis padres Edwin y Dénice ejemplo de lucha y constancia,
gracias a su apoyo dedicación y entera confianza
por sus exigencias, y sobre todo por el aguante
y las desveladas diarias sin ustedes no lo
hubiera logrado les amo papitos.
A mi hermana por su apoyo, fortaleza.
A mi Britany Lupita mi motor para luchar,
por ti todo mi muñequita, mi
mayor inspiración.
Natalí L.
viii
AGRADECIMIENTOS
Mi profundo agradecimiento, a la Universidad Central del Ecuador, Facultad de
Ingeniería, Ciencias Físicas y Matemática, Carrera de Ingeniería Informática, a mis
maestros que me impartieron sus conocimientos para formarme como profesional.
Un especial agradecimiento a mi tutor de tesis Ing. Giovanny Moncayo, a mis revisores
de proyecto Ing. Santiago Morales e Ing. Arturo Bedón, quienes con su experiencia,
capacidad y paciencia me supieron orientar de manera adecuada en todo el proceso de
este trabajo investigativo.
A la Fundación A Favor de la Vida en especial a la Doctora Sonnia Balladares por
brindarme la total apertura para realizar mi proyecto integrador.
Natalí L.
ix
CONTENIDO
pág.
DEDICATORIA ......................................................................................................... vii
AGRADECIMIENTOS ............................................................................................... viii
CONTENIDO ............................................................................................................ ix
LISTA DE TABLAS. .................................................................................................. xiii
LISTA DE FIGURAS................................................................................................... xv
RESUMEN ............................................................................................................. xviii
ABSTRACT .............................................................................................................. xix
INTRODUCCIÓN ........................................................................................................ 1
1 ANÁLISIS DEL PROBLEMA .................................................................................. 2
1.1 Antecedentes. ..................................................................................................... 2
1.2 Planteamiento del problema. ............................................................................... 3
1.3 Formulación del Problema. .................................................................................. 3
1.3.1 Proceso de registro de bovinos: ................................................................................. 5
1.3.2 Proceso de solicitud de reporte de bovinos. .............................................................. 5
1.4 Objetivos. ............................................................................................................ 7
1.4.1 Objetivo general. ........................................................................................................ 7
1.4.2 Objetivos específicos. ................................................................................................. 7
1.5 Alcance y Limitaciones. ........................................................................................ 7
1.6 Justificación. ........................................................................................................ 8
2 MARCO TEÓRICO. ............................................................................................. 9
2.1 Aspectos de la Fundación a Favor de la Vida (ITAP RURAL). ................................... 9
2.1.1 Fundación a Favor de la Vida (ITAP RURAL). .............................................................. 9
x
2.1.2 DEPS. ......................................................................................................................... 10
2.1.3 Bovinos. .................................................................................................................... 10
2.1.4 Destete. .................................................................................................................... 10
2.1.5 Peso al Nacer. ........................................................................................................... 10
2.1.6 Pedigrí. ...................................................................................................................... 11
2.1.7 Progenie. ................................................................................................................... 11
2.1.8 Circunferencia Escrotal (CE)...................................................................................... 11
2.1.9 Registro Propio (RP). ................................................................................................. 11
2.2 Aspectos Informáticos. ...................................................................................... 11
2.2.1 Sistema Informático. ................................................................................................. 11
2.2.2 Entorno de Desarrollo Integrado “IDE”. ................................................................... 12
2.2.3 Framework. ............................................................................................................... 12
2.2.4 Java Server Faces – JSF. ............................................................................................ 13
2.2.5 Patrón MVC............................................................................................................... 13
2.2.6 Sistema de Gestor de Base de Datos. ....................................................................... 15
2.2.7 Servidor de Aplicaciones. .......................................................................................... 16
2.2.8 Plataforma de desarrollo. ......................................................................................... 17
2.2.9 Consideraciones Arquitecturales Etapas de la instalación. ...................................... 19
2.2.10 Herramientas certificadas. ..................................................................................... 19
3 METODOLOGÍA. .............................................................................................. 24
3.1 Metodología Ágiles. ........................................................................................... 24
3.2 Comparación de Metodologías Ágiles vs Metodologías Tradicionales. ................. 24
3.2.1 Benchmarking, Metodologías de Desarrollo (XP vs SCRUM vs ADAPTIVE SOFTWARE
DEVELOMENT). ................................................................................................................... 25
3.3 Programación Extrema (XP) ............................................................................... 26
3.4 Objetivos de XP. ................................................................................................ 26
3.5 Fases de XP. ...................................................................................................... 28
3.6 Fase de Planificación de Proyecto. ..................................................................... 28
3.6.1 Recopilación de información. ................................................................................... 28
3.6.2 Actores o Roles que Intervienen en el Sistema. ....................................................... 29
3.6.3 Historia de los Usuarios. ........................................................................................... 29
3.6.4 Historia de Usuario 1. Autenticar Usuario. ............................................................... 30
3.6.5 Historia de Usuario 2. Administrar Usuario. ............................................................. 31
xi
3.6.6 Historia de Usuario 3. Administrar Sistema. ............................................................. 31
3.6.7 Historia de Usuario 4. Administrar Bovinos.............................................................. 32
3.6.8 Historia de Usuario 5. Administrar Reportes. ........................................................... 33
3.7 Fase de Diseño. ................................................................................................. 33
3.7.1 Funciones. ................................................................................................................. 34
3.7.2 Diagrama de Casos de Uso. ....................................................................................... 34
3.7.3 Descripción de Casos de Uso. ................................................................................... 36
3.7.4 Diagramas de Secuencia. .......................................................................................... 44
3.7.5 Diagrama de Clases. .................................................................................................. 52
3.7.6 Base de Datos. .......................................................................................................... 54
3.8 Fase de Codificación. ......................................................................................... 56
3.8.1 Estructura del Diseño Gráfico del Sistema. ............................................................... 56
3.8.2 Separación de Componentes del patrón MVC. ......................................................... 58
3.9 Fase de Pruebas. ................................................................................................ 70
3.9.1 Ejemplo de un Caso de Prueba. ................................................................................. 70
4 IMPLEMENTACIÓN DEL SISTEMA ..................................................................... 73
4.1 Matriz certificada de herramientas. ................................................................... 73
4.2 Requerimientos Hardware y Software. ............................................................... 75
4.3 Requerimientos funcionales para ambiente de trabajo. ...................................... 76
4.4 Etapas de la instalación. ..................................................................................... 76
5 CONCLUSIONES Y RECOMENDACIONES ........................................................... 78
5.1 Conclusiones. .................................................................................................... 78
5.2 Recomendaciones ............................................................................................. 79
6. Bibliografía ..................................................................................................... 80
ANEXOS ................................................................................................................. 83
ANEXO A ....................................................................................................................... 84
Oficio de solicitud de proyecto Fundación a Favor de la Vida. .......................................... 84
ANEXO B ....................................................................................................................... 84
Información de planillas de distintas razas de bovinos ...................................................... 85
ANEXO C ....................................................................................................................... 87
Acta de Constitución de Proyecto. ..................................................................................... 87
ANEXO D ....................................................................................................................... 97
xii
Diccionario de Datos. .......................................................................................................... 97
ANEXO E ...................................................................................................................... 105
Certificación de que se Efectuaron las Pruebas pertinentes. ........................................... 105
ANEXO F ...................................................................................................................... 106
Certificación de Implementación del Sistema. ................................................................. 106
ANEXO G ..................................................................................................................... 107
Certificado de la capacitación del Sistema. ...................................................................... 107
ANEXO H ..................................................................................................................... 108
Lista de Capacitación del Sistema. .................................................................................... 108
ANEXO I ...................................................................................................................... 109
PUESTA EN PRODUCCIÓN DEL SISTEMA. ....................................................................... 109
1. Restauración de la Base de Datos. ........................................................................... 109
2. Desplegar el Sistema en el Servidor de Aplicaciones. ............................................. 112
3. Acceso al Sistema. .................................................................................................... 118
xiii
LISTA DE TABLAS
pág.
Tabla 2-1. Benchmarking, Entornos de Desarrollo Integrado (Netbeans 8.0.2 vs Eclipse
Helios vs Jdeveloper 11). ............................................................................................... 12
Tabla 2-2. Cuadro Comparativo – Motor de Base de Datos. ......................................... 15
Tabla 2-3. Cuadro Comparativo – Servidor de Aplicaciones. ........................................ 17
Tabla 3-1. Cuadro Comparativo de Metodología Ágil Vs Metodología Tradicional. ... 25
Tabla 3-2. Benchmarking, Metodología de Desarrollo (XP vs SCRUM vs ADAPTIVE
SOFTWARE DEVELOMENT). .................................................................................... 25
Tabla 3-3. Lista de Historia de Usuarios de la Aplicación. ............................................ 30
Tabla 3-4. Autentificar Usuario. ..................................................................................... 30
Tabla 3-5. Administrar Usuario. ..................................................................................... 31
Tabla 3-6. Administrar Sistema. ..................................................................................... 31
Tabla 3-7. Administrar Bovinos. .................................................................................... 32
Tabla 3-8. Administrar Reportes. ................................................................................... 33
Tabla 3-9. Descripción de Caso de Uso Ingresar al Sistema. ......................................... 36
Tabla 3-10. Descripción de Caso de Uso Cambiar de Contraseña. ................................ 37
Tabla 3-11. Descripción de Caso de Uso Generar Reportes. ......................................... 38
Tabla 3-12. Descripción de Caso de Uso Visualizar Reportes. ...................................... 38
Tabla 3-13. Descripción de Caso de Uso Visualizar de Registro de Bovinos................ 39
Tabla 3-14. Descripción de Caso de Uso Administrar de variables del Sistema. .......... 40
Tabla 3-15. Descripción de Caso de Uso Administrar Haciendas. ................................ 41
Tabla 3-16. Descripción de Caso de Uso Administrar Catálogos. ................................. 42
Tabla 3-17. Descripción de Caso de Uso Administrar Usuarios. ................................... 43
Tabla 3-18. Estructura General del Sistema. .................................................................. 56
Tabla 3-19. Prueba 1. Ingreso al Sistema. ...................................................................... 70
Tabla 4-1.Versiones permitidas de JDK para el Sistema SICOGAN. ........................... 73
Tabla 4-2.Versiones permitidas de Sistema Operativo para el sistema SICOGAN. ...... 74
Tabla 4-3.Versiones probadas, Motor de Base de Datos, sistema SICOGAN. .............. 74
Tabla 4-4.Versiones probadas, Servidor de Aplicaciones, sistema SICOGAN. ............ 75
Tabla 4-5. Requerimientos de hardware y software recomendados. .............................. 76
xiv
Tabla D1.Tabla de Secuencia. ........................................................................................ 97
Tabla D2.Tabla de Altura. .............................................................................................. 98
Tabla D3.Tabla de Bovino.............................................................................................. 98
Tabla D4.Tabla de Categoría. ......................................................................................... 98
Tabla D5.Tabla de Color. ............................................................................................... 99
Tabla D6.Tabla de Configuración. ................................................................................. 99
Tabla D7.Tabla de Ecografía. ......................................................................................... 99
Tabla D8.Tabla de Empresa. ........................................................................................ 100
Tabla D9.Tabla de Escrotal. ......................................................................................... 100
Tabla D10.Tabla de Establo. ........................................................................................ 100
Tabla D11.Tabla de Estado. ......................................................................................... 101
Tabla D12.Tabla de Etapa Vida. .................................................................................. 101
Tabla D13.Tabla de Genero. ........................................................................................ 101
Tabla D14.Tabla de Tipo Medición. ............................................................................ 101
Tabla D15.Tabla de Hacienda. ..................................................................................... 102
Tabla D16.Tabla de Peso. ............................................................................................. 102
Tabla D17.Tabla de Prepucio. ...................................................................................... 102
Tabla D18.Tabla de Raza. ............................................................................................ 103
Tabla D19.Tabla de Rol................................................................................................ 103
Tabla D20.Tabla de Tipo Manejo................................................................................. 103
Tabla D21.Tabla de Tipo Medición. ............................................................................ 103
Tabla D22.Tabla de Tipo Nacimiento. ......................................................................... 104
Tabla D23.Tabla de Tipo Parto. ................................................................................... 104
Tabla D24.Tabla de Tipo Prepucio. ............................................................................. 104
Tabla D25.Tabla de Usuario. ........................................................................................ 104
xv
LISTA DE FIGURAS
pág.
Figura 1-1. Paso de datos de registros. ............................................................................. 3
Figura 1-2. Diagrama de secuencia, transferencia de datos. ............................................ 4
Figura 1-3. Diagrama BPMN Registros de Bovinos. ....................................................... 5
Figura 1-4. Diagrama BPMN Solicitud de Reporte de Bovinos. ..................................... 6
Figura 2-1. Patrón MVC. ................................................................................................ 13
Figura 2-2. Servidor de Aplicaciones. ............................................................................ 16
Figura 2-3. Arquitectura JEE 7. ...................................................................................... 18
Figura 2-4. Separación de Capas en la Arquitectura JEE7. ............................................ 19
Figura 2-5. Logotipo Windows Server 2008 R2. ........................................................... 20
Figura 2-6. Logotipo Java. .............................................................................................. 20
Figura 2-7. Logotipo Glassfish 4.1. ................................................................................ 21
Figura 2-8. Servidor de aplicaciones Glassfish. ............................................................. 21
Figura 2-9. Logotipo NetBeans. ..................................................................................... 22
Figura 2-10. Logotipo PostgreSQL. ............................................................................... 22
Figura 2-11. Logotipo iReport. ....................................................................................... 23
Figura 3-1. Ciclo de Vida XP. ........................................................................................ 27
Figura 3-2. Diagrama de Casos de Uso General. ........................................................... 34
Figura 3-3. Diagrama de Casos de Uso para Súper Administrador................................ 35
Figura 3-4. Diagrama de Casos de Uso para Administrador. ......................................... 35
Figura 3-5. Diagrama de Casos de Uso para Capataz. ................................................... 36
Figura 3-6. Diagrama de Casos de Uso para Secretaria. ................................................ 36
Figura 3-7. Diagrama de Secuencia Login de Usuario. .................................................. 44
Figura 3-8. Diagrama de Secuencia Olvido la Contraseña. ............................................ 45
Figura 3-9. Diagrama de Secuencia Crear Usuario. ....................................................... 45
Figura 3-10. Diagrama de Secuencia Modificar Usuario. .............................................. 46
Figura 3-11. Diagrama de Secuencia Activar Usuario. .................................................. 46
Figura 3-12. Diagrama de Secuencia Desactivar Usuario. ............................................. 47
Figura 3-13. Diagrama de Secuencia Crear Hacienda. ................................................... 47
xvi
Figura 3-14. Diagrama de Secuencia Modificar Hacienda............................................. 48
Figura 3-15. Diagrama de Secuencia Activar Hacienda................................................. 48
Figura 3-16. Diagrama de Secuencia Desactivar Hacienda. .......................................... 49
Figura 3-17. Diagrama de Secuencia Modificar Variable de Sistema. .......................... 49
Figura 3-18. Diagrama de Secuencia Crear Catálogo. ................................................... 50
Figura 3-19. Diagrama de Secuencia Modificar Catálogo General................................ 50
Figura 3-20. Diagrama de Secuencia Generación de Reporte. ....................................... 51
Figura 3-21. Diagrama de Clases, AbstracFacade. ......................................................... 52
Figura 3-22. Diagrama de Clases, Principales del Sistema. ........................................... 53
Figura 3-23. Diagrama Modelo de Datos: Modelo Relacional. ..................................... 55
Figura 3-24. Código Plantilla Estructura General del Sistema. ...................................... 57
Figura 3-25. Plantilla Web del Sistema. ......................................................................... 58
Figura 3-26. Diseño de Entidad CONFIGURACIÓN. ................................................... 58
Figura 3-27.Interfaz de Usuario para el Listado de variables del Sistema SICOGAN. . 69
Figura 3-28.Interfaz de Usuario para la Creación de una Nueva Variable del Sistema. 69
Figura 3-29. Login de Usuario Correcto. ....................................................................... 71
Figura 3-30. Login de Usuario Incorrecto. ..................................................................... 72
Figura 3-31. Ingreso al Sistema. ..................................................................................... 72
Figura 4-1. Requerimientos Funcionales para el Ambiente de Trabajo. ........................ 76
Figura I0-1. Login de Usuario, Postgresql 9.3.2.1 ....................................................... 109
Figura I0-2. Crear Nueva Base de Datos. ..................................................................... 109
Figura I0-3. Base de Datos, Propiedades Generales. .................................................... 110
Figura I0-4. Base de Datos, Propiedades Específicas. ................................................. 110
Figura I0-5. Restaurar Base de Datos. .......................................................................... 111
Figura I0-6. Restaurar Base de Datos. .......................................................................... 111
Figura I0-7. Estructura de la Base de Datos. ................................................................ 112
Figura I0-8. Glassfish, Iniciar Servicio. ....................................................................... 113
Figura I0-9. Glassfish, Inicio de Sesión. ...................................................................... 113
Figura I0-10. Creación de Pool de Conexión. .............................................................. 114
Figura I0-11. Propiedades de Pool de Conexión. ......................................................... 114
Figura I0-12. Propiedades de Pool de Conexión con la Base de Datos........................ 115
Figura I0-13. Verificar la Conexión con la Base de Datos. .......................................... 115
xvii
Figura I0-14. Comprobación de Conexión con la Base de Datos. ............................... 116
Figura I0-15. Creación de JDBC Resources. ................................................................ 116
Figura I0-16. Propiedades de JDBC Resources. .......................................................... 116
Figura I0-17. Deploy, aplicativo SICOGAN, primera parte. ....................................... 117
Figura I0-18. Deploy, aplicativo SICOGAN, segunda parte. ....................................... 117
Figura I0-19. Url de Acceso al Sistema. ....................................................................... 118
Figura I0-20. Login de Usuario. ................................................................................... 118
xviii
RESUMEN
TEMA: DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE
REGISTROS DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA
ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA.
Autor: Natalí Elizabeth Lascano Robalino
Tutor: Ing. Milton Giovanny Moncayo Unda
El presente trabajo de investigación expone la propuesta de desarrollar un Sistema de
Control Veterinario de Registros de Bovinos Enfocados en la Diferencia Esperada entre
Progenies (DEPS) para la Fundación a Favor de la Vida, el cual está centrado en
automatizar dicho proceso, logrando así que los actores involucrados en dichos procesos
tengan una herramienta que sea flexible, apegado a estándares de calidad de software,
parametrizable a cambios que se presenten en el futuro y principalmente que sea segura,
puesto que la aplicación gestiona datos que son de vital importancia y constituyen el core
del negocio para la fundación.
La aplicación esta implementada bajo la arquitectura JEE7 y sus estándares, JSF, JPA,
EJB, esto bajo una interfaz web, sobre un servidor de aplicaciones Glassfish (V. 4.1), y
en base a las buenas prácticas sugeridas por el Instituto de Gestión de Proyectos (PMI),
publicadas en su Guía de los Fundamentos para la Dirección de Proyectos o guía del
PMBOK®. Además, para el proceso de desarrollo de la aplicación se hace uso de Extreme
Programing (XP) como metodología de desarrollo de software.
PALABRAS CLAVES: PROYECTOS DE DESARROLLO DE SOFTWARE /
GESTIÓN DE PROYECTOS DE SOFTWARE / PMBOK / METODOLOGÍA XP / JEE
/ POSTGRES.
xix
ABSTRACT
TOPIC: “DEVELOPMENT OF A SYSTEM FOR VETERINARY CONTROL OF
BOVINES RECORD FOCUSED ON THE EXPECTED DIFFERENCE
BETWEEN PROGENIES (DEPS) FOR THE “FUNDACIÓN A FAVOR DE LA
VIDA”.
Author: Natalí Elizabeth Lascano Robalino
Tutor: Ing. Milton Giovanny Moncayo Unda
The present research work exposes the proposal to develop a System for Veterinary Control of
Bovines Record Focused on the Expected Difference between Progenies (DEPS) for the
“Fundación a Favor de la Vida”, which is based on automating that process, so achieving that the
actors involved in said processes have a tool that is flexible, following software quality standards,
adjustable to changes that may occur in the future and mainly safety, because the application
manages data of vital importance and constitutes the main economic resource for the foundation.
The application is implemented under the JEE7 architecture and standards: JSF, JPA, EJB under
a web interface on a server of applications Glassfish (V. 4.1), and based on best practices
suggested by the Institute of Projects Management (PMI), published in its Fundaments Guide for
Projects Management or PMBOK® guide. In addition, for the development applications process
it makes use of Extreme Programing (XP) as methodology of software development.
KEYWORDS: SOFTWARE DEVELOPMENT PROJECTS / SOFTWARE PROJECTS
MANAGEMENT / PMBOK / METHODOLOGY XP / JEE / POSTGRES.
1
INTRODUCCIÓN
En la actualidad, los procesos de registro de información, es una necesidad ineludible,
por lo cual es necesario gestionarlos con herramientas informáticas que automaticen,
validen y controlen los datos que serán ingresados, facilitando así la tarea a los
involucrados que intervienen en esta tarea.
De esta forma, el desarrollo de este proyecto integrador está enfocado en solucionar el
problema de la Fundación a Favor de la Vida, ya que no existe un mecanismo para que
se controle el manejo de la información sobre la genética de los bovinos, la misma que
permite obtener la Diferencia Esperada entre Progenies (DEPS). La información sobre
el proceso mencionado anteriormente, será recolectada a través de una herramienta
tecnológica, permitiendo así el normal flujo de información entre el ganadero y la
Fundación, sin que exista un intermediario para realizar este proceso, consiguiendo con
esto que la información esté disponible a cualquier instante en la que sea requerida.
Para el desarrollo de la aplicación se utiliza herramientas de código libre, puesto que esto
es un requerimiento planteado por la República del Ecuador para todas las instituciones
de carácter público, además la herramienta a desarrollar utilizara estándares probados en
el proceso de desarrollo de software, los cuales permitirán que la aplicación sea posible
de mantener en el futuro.
Además de lo citado anteriormente la aplicación mostrará una gran variedad de reportes
los cuales podrán ser fácilmente visualizados en diferentes formatos.
2
1 ANÁLISIS DEL PROBLEMA
1.1 Antecedentes.
La mayor parte de instituciones están implementando sistemas informáticos, los cuales
permiten tener un control del registro de información de los diferentes procesos que se
llevan a cabo dentro de estas.
En la actualidad las aplicaciones son desarrolladas en ambiente web, ya que entre las
demandas que impone la sociedad, se establece que los usuarios puedan tener accesos a
la información desde cualquier lugar donde se encuentren, razón por la cual, el desarrollo
de la aplicación se debe sustentar en un diseño con una arquitectura robusta que permita
trabajar a modo Intranet o Extranet, y que permita a varios usuarios interactuar con la
aplicación al mismo tiempo.
La Fundación a Favor de la Vida, tiene la necesidad de automatizar sus procesos de
control veterinario de registro de bovinos enfocados en la diferencia esperada entre
progenies (DEPS), ya que los procesos aún se los realiza de forma manual, registrando
en libros y carpetas físicas o en ocasiones utilizando utilitarios básicos como Excel, por
lo que su mantenimiento se hace tedioso, derivando a que el usuario ocupe mucho de su
tiempo para cumplir con los requerimientos solicitados por los clientes de la institución.
Así también la Fundación, por como gestiona este proceso, presenta duplicidad de
información de los registros de bovinos, lo que se pretende solventar con el desarrollo de
la aplicación. Así también, en la actualidad, el tiempo que le toma a un usuario responder
a una petición de información es demasiado extenso dado la complejidad de la solicitud,
por esta razón se pretende que con la implementación del sistema se mejore la eficiencia
y eficacia en cuanto a la disponibilidad de la información, apoyando al proceso de la toma
de decisiones por parte de las autoridades.
3
1.2 Planteamiento del problema.
En la actualidad, la mayoría de las empresas están implementando soluciones
informáticas a nivel de automatización de procesos, dado las exigencias que la sociedad
impone en lo referente a las tecnologías de información. La falta de automatización de
procesos permite que los tiempos de respuesta se extiendan, causando malestar en los
clientes y deteniendo el desarrollo de la empresa. Por lo anteriormente expuesto, es
necesario que la Fundación a Favor de la Vida profundice en una propuesta de un sistema
de control de registro de bovinos.
1.3 Formulación del Problema.
La Fundación a Favor de la Vida en la actualidad realiza algunos de sus procesos de
control veterinario para bovinos de forma manual y otros los gestiona en utilitarios
básicos como Excel, debido a que la información que interviene en dichos procesos se
encuentra separada en distintos medios de almacenamiento, de los cuales la mayoría son
manualmente manejados, esto constituye una gran limitante para el funcionamiento
adecuado del proceso de control de registros de bovinos y sus procesos derivados.
Figura 1-1. Paso de datos de registros.
Fuente: Lascano N. año 2016.
Debido a que en la actualidad los requerimientos de las fundaciones cambian
continuamente y los sistemas deben ajustarse a dichos requerimientos, y si no lo hacen,
4
las Fundaciones se ven en la necesidad inherente de adquirir o desarrollar nuevamente el
sistema, éste debe ser completamente configurable y adaptable a los cambios de proceso
que sufra la fundación.
Figura 1-2. Diagrama de secuencia, transferencia de datos.
Fuente: Lascano N. año 2016.
Con el antecedente anteriormente señalado se ha visto la necesidad de diseñar y
desarrollar un sistema de control veterinario de registros de bovinos enfocados en la
diferencia esperada entre progenies.
Para cumplir con este propósito, se necesita considerar los siguientes aspectos.
Conocer los procesos que utiliza la institución para el registro y control de bovinos,
para brindar una herramienta que satisfaga plenamente los requerimientos planteados.
Los procesos que llevará a cabo el sistema, deben estar basados en el reglamento
general de la institución, para que así se adapten plenamente los procesos y los
usuarios no tengan que realizar cambios bruscos en los procesos del día a día.
Para el desarrollo del sistema se utilizara estándares de calidad en el desarrollo de
proyectos de software que permitirán que la aplicación sea escalable, fácil de
mantener y de utilizar.
5
1.3.1 Proceso de registro de bovinos:
El ganadero llena una planilla de nacimientos y destetes; en la cual se registra su
Registro Propio del bovino (RP), sexo, fecha de nacimiento, raza o variedad,
color, código de muerto, peso al nacer, datos de la madre y padre del bovino, fecha
de destete, peso del destete y observaciones.
Se procede a llenar los datos referentes a pesos, alturas, tipo de prepucio, tipo de
manejo de ser el caso, de los bovinos al ser destetados, así también cuando
cumplan la etapa de posdestete y también el año de vida.
Se procede a llenar la siguiente planilla de carniceros; en la cual se registra su RP
cría número de animal, sexo, fecha de nacimiento, raza o variedad, datos del
padre, datos de la madre, hacienda, condición de manejo.
Figura 1-3. Diagrama BPMN Registros de Bovinos.
Fuente: Lascano N. año 2016.
1.3.2 Proceso de solicitud de reporte de bovinos.
El empleado solicita al encargado de la fundación que se le remita la información
referente a un bovino en particular, para esto el usuario encargado debe entregar
un documento en el cual se debe especificar el RP de la cría, fecha de nacimiento,
peso.
6
Si el director de la fundación autoriza que se remita al empleado el reporte
solicitado, se debe informarle a este que su petición fue autorizada y se procede a
enviar una solicitud al área de control veterinario para que ejecuten el reporte en
el sistema.
El área de control veterinario obtiene el reporte del sistema y remite el documento
detallando datos como: RP cría número de animal, sexo, fecha de nacimiento, raza
o variedad, color, código de muerto, pero al nacer, RP padre, RP madre, fecha de
nacimiento de la madre, fecha de nacimiento del padre, fecha de nacimiento de la
receptora, Fecha de destete, peso del destete, manejo, observaciones.
Figura 1-4. Diagrama BPMN Solicitud de Reporte de Bovinos.
Fuente: Lascano N. año 2016.
Con el desarrollo de la aplicación se pretende automatizar los procesos que se detallaron
anteriormente; y también mantener los datos que intervienen en el proceso de manera
centralizada, con el fin de que no exista duplicidad de la información y así lograr que la
información esté disponible cuando los usuarios lo requieran, obteniendo de esta forma
una mejor toma de decisiones por parte de las autoridades, las cuales apoyaran al
crecimiento institucional de los ganaderos.
7
En este contexto, es necesario recalcar que los procesos automatizados son factores de
vital importancia en toda institución y pueden hacer la diferencia entre el éxito o el fracaso
de la misma.
1.4 Objetivos.
1.4.1 Objetivo general.
Desarrollar un sistema que permita automatizar los procesos de control veterinario de
registro de bovinos enfocados en la diferencia esperada entre progenies para la Fundación
a Favor de la Vida, utilizando herramientas de código abierto, y una metodología de
desarrollo de software, que de los lineamientos a seguir para la culminación exitosa del
mismo.
1.4.2 Objetivos específicos.
Establecer los requerimientos técnicos, tecnológicos y de funcionamiento necesarios
para el desarrollo del sistema.
Determinar la metodología a implementar en el proceso de desarrollo del sistema,
cumpliendo con las respectivas fases que esta demande.
Mejorar los tiempos de respuesta en peticiones de información por parte de los
usuarios de la fundación.
Incrementar la satisfacción del cliente en un alto porcentaje de confiabilidad.
1.5 Alcance y Limitaciones.
El desarrollo del proyecto contempla:
Registro y gestión de la ficha de datos de los bovinos.
Registro de datos enfocado en la elaboración de las tablas DEPS (DIFERENCIA
ESPERADA ENTRE PROGENIES).
Administración de roles y usuarios en el sistema.
8
Administración de variables de sistema que permita gestionar de mejor manera el
funcionamiento de la aplicación.
Administración de catálogos necesarios para el correcto funcionamiento del sistema.
Generación de reporte consolidado de planillas de bovino, con opción de impresión,
exportable a PDF, XLSX.
Consulta de bovinos, empleando diferentes filtros. Los reportes se muestran directo a
la pantalla, con la opción de exportar a un archivo PDF, XLSX.
Reportes de la ficha de los bovinos en los cuales se presentarán todos los datos de
cada uno de ellos de forma general e individual, con la opción de exportar a un archivo
PDF, XLSX.
1.6 Justificación.
La Fundación a Favor de la Vida obtendrá información centralizada y en tiempo real sobre
la genética de los bovinos, fichas de nacimiento, fichas de destetes, fichas de post destetes,
fichas carniceras; lo cual beneficiará de manera oportuna en la toma de decisiones. Al
contar con información actualizada, la Fundación a Favor de la Vida podrá optimizar sus
procesos de registro y medición de pesos y alturas de los bovinos, permitiendo así
dinamizar su trabajo y controlar validaciones en los datos que son de suma importancia
para el registro de información.
Proveer a los ganaderos un aplicativo mediante el cual puedan realizar un requerimiento
de información sobre los bovinos desde el lugar en el que se encuentre.
Conservar la información necesaria de los bovinos para el estudio de la progenie que
realiza la fundación; el sistema permitirá visualizar reportes de acuerdo a la etapa de vida
en el que se encuentre el bovino.
Es ineludible que las instituciones usen aplicaciones que le ayuden a la automatización
de los procesos, consiguiendo así optimizar el tiempo de servicio a los usuarios de la
institución.
9
2 MARCO TEÓRICO.
2.1 Aspectos de la Fundación a Favor de la Vida (ITAP RURAL).
2.1.1 Fundación a Favor de la Vida (ITAP RURAL).
Desde hace 14 años la FUNDACIÓN A FAVOR DE LA VIDA, viene trabajando a favor
de los sectores más necesitados de nuestro país. Una de estas áreas es el sector rural,
donde generalmente los pequeños productores carecen de la aplicación de nuevas
tecnologías para mejorar y obtener réditos económicos favorables, que justifiquen el
trabajo y la inversión realizada en la producción agropecuaria, evitando de esta manera
que el pequeño productor abandone sus tierras y emigre a las ciudades o al exterior
ocasionando un problema de carácter social.
ITAP RURAL, es investigación, capacitación y difusión de los adelantos tecnológicos,
con el propósito de fortalecer el trabajo realizado de forma tradicional por el pequeño
productor reduciendo los márgenes de pobreza a nivel de zonas rurales.
Investigación que nos permita innovar, adaptar y aplicar a nuestro medio ambiente de
forma sectorizada y económica nuevas tecnologías. (Balladares, 2015).
Misión.
Nuestra Misión es investigar, informar, difundir y capacitar sobre la ciencia y la
tecnología en el sector agropecuario a nivel nacional, así como su aplicación e
implementación dentro de un margen seguro de tolerancia para el medio ambiente.
(Balladares, 2015).
Visión.
Innovar en ciencia y tecnología en el área agropecuaria y aplicar dichas investigaciones
según las necesidades sectorizadas del país. (Balladares, 2015).
Valores.
Respeto, flexibilidad, solidaridad humana, responsabilidad ambiental, profesionalismo.
10
Lealtad, responsabilidad, honestidad, puntualidad.
Sinergia, proactividad, eficiencia, compromiso y flexibilidad.
Creemos en Dios. (Balladares, 2015).
2.1.2 DEPS.
Un DEPS (Diferencia Esperada entre Progenies) Nos indica cómo será el comportamiento
general de las crías del toro elegido en comparación con las de los otros toros listados en
la misma Evaluación Genética a Nivel Nacional para cada una de las características de
producción analizadas ( facilidad al parto, peso al nacer, al destete, área de ojo de bife,
etc.) (Bavera G. , 2011).
2.1.3 Bovinos.
El ganado bovino es aquel tipo de ganado que está representado por un conjunto de vacas,
bueyes y toros que son domesticados por el ser humano para su aprovechamiento y
producción; es decir sirven para satisfacer ciertas necesidades del hombre bien sea
alimenticias o económicas. (FORO ARGENTINO DE GENETICA BOVINA, 2010).
2.1.4 Destete.
El destete (o desmamante) es una operación a la que no se da la importancia que tiene. El
hecho de separar los terneros de sus madres es considerada una práctica más de manejo
rutinario, que se cumple en cada campo todos los años más o menos para la misma fecha,
haciéndose en función del ternero solamente y no de la vaca. (Bavera G. A., 2008).
2.1.5 Peso al Nacer.
En general, los pesos al nacer y los porcentajes de asistencia se incrementan con el
potencial de crecimiento y con el tamaño adulto de la raza paterna. Los efectos maternos
no manifiestan un comportamiento definido, a excepción de los vientres con sangre
cebuina, ya que a medida que aumenta el porcentaje de sangre índica de las hembras, el
peso al nacer y los problemas de parto disminuyen. (Bavera G. , 2011).
11
2.1.6 Pedigrí.
Es la genealogía de un animal y también el documento en que consta dicha genealogía,
pudiéndose deducir de ella él comporta-miento productivo de sus antepasados. Concentra
la genealogía completa de un animal debidamente registrado en los HB. (Bavera G. ,
2011).
2.1.7 Progenie.
Es el resultado de la reproducción, es decir, el individuo o individuos producidos
mediante la intervención de uno o más parentales. Por ejemplo, la progenie de los
humanos, obtenida mediante reproducción sexual, son los niños; en cambio, para una
bacteria que sufra fisión binaria, la progenie son las dos células hijas resultantes.
2.1.8 Circunferencia Escrotal (CE).
El tamaño testicular o la cantidad de tejido que produce esperma se estima a través del
uso de la medición de la CE. (Bavera G. , 2011).
2.1.9 Registro Propio (RP).
El RP es el código de identificación de cada animal, es único para cada uno en el
establecimiento.
2.2 Aspectos Informáticos.
2.2.1 Sistema Informático.
Es un conjunto de partes relacionadas, hardware, software y de recurso humano mediante
el cual permite almacenar y procesar información. El hardware contiene dispositivos
electrónicos inteligentes. El software contiene al sistema operativo, firmware y
aplicaciones, siendo significativo los sistemas de gestión de bases de datos. El soporte
humano contiene al personal técnico que crean y mantienen el sistema. (Calvopiña,
2012).
12
2.2.2 Entorno de Desarrollo Integrado “IDE”.
Un IDE es una aplicación informática que facilita servicios integrales para facilitarle al
desarrollador o programador el desarrollo de software; consiste en un editor de código,
un compilador, un depurador y un constructor de interfaz gráfica (GUI).
Los IDE suministran un ambiente de trabajo amigable y emprendedor para la mayoría de
los lenguajes de programación. (BELL & PARR, 2003).
Benchmarking, Entornos de Desarrollo Integrado (Netbeans 8.0.2 vs Eclipse Helios
vs Jdeveloper 11).
La calificación se valora como “”, “”, y “” a cada una de las características de los
medios de desarrollo integrado, siendo = Cumplimiento satisfactorio, =
Cumplimiento no satisfactorio y = Cumplimiento parcial.
Tabla 2-1. Benchmarking, Entornos de Desarrollo Integrado (Netbeans 8.0.2 vs
Eclipse Helios vs Jdeveloper 11).
Fuente: Lascano N. año 2016.
Por las prestaciones ofrecidas, Netbeans 8.0.2 será el IDE usado para elaborar el proyecto
integrador.
2.2.3 Framework.
En el desarrollo de software, un framework, es una organización conceptual y tecnológica
CARACTERÍSTICAS ENTORNO DE DESARROLLO INTEGRADO
Netbeans 8.0.2 Eclipse Helios Jdeveloper 11
Estabilidad
Soporte multiplataforma
Soporte de servidores de aplicaciones
Compatibilidad con servidores
Plugins disponibles
Soporte de frameworks
Soporte de SGBD
Consumo de Recursos
Generación de código
13
de soporte definido, regularmente con módulos de software precisos, que puede servir de
plataforma para la organización y desarrollo de software. Puede contener soporte de
programas, entre otras herramientas, para así ayudar a desarrollar y acoplar los diferentes
componentes de un proyecto. (Struts 2, 2010).
2.2.4 Java Server Faces – JSF.
Es un framework, consignado a facilitar la construcción y desarrollo de interfaces para
aplicaciones basadas en entornos web, que facilita el desarrollo de interfaces de usuario
en aplicaciones Java EE. JSF usa Java Server Pages (JSP) como la tecnología que admite
hacer el despliegue de las páginas, también se puede adecuar a otras tecnologías como
XUL (acrónimo de XML-based User-interface Language, lenguaje basado en XML para
la interfaz de usuario). (Java Server Faces, 2009).
2.2.5 Patrón MVC.
Figura 2-1. Patrón MVC.
Fuente: http://www.monografias.com/trabajos89/poo-y-mvc-php/poo-y-mvc-php2.shtml.
El Modelo Vista Controlador es un patrón de arquitectura de software encargado de
apartar la lógica de negocios de la interfaz usuario y es el más utilizando de las
aplicaciones Web, ya que facilita la funcionalidad, mantenibilidad y escalabilidad del
14
sistema. Las aplicaciones Web están organizadas por una arquitectura de tres capas, las
cuales son: Modelo, Vista, Controlador. Uno de los esquemas y, con toda seguridad, el
más manipulado por los desarrolladores que utilizan JEE7, es la arquitectura Modelo
Vista Controlador (MVC), la cual facilita una clara separación entre las diferentes
responsabilidades de la aplicación. (BAHIT, s.f.)
Descripción de Capas.
Controlador.
Reacciona a la petición del Cliente, ejecutando la acción y creando el modelo oportuno,
se consigue mostrar que el controlador es el que rige la aplicación. Las peticiones a la
capa intermedia que se realicen desde el cliente son dirigidas al controlador, cuya misión
es fijar las tareas a ejecutar para cada una de estas peticiones e invocar al resto de los
componentes de la aplicación. (BAHIT, s.f.)
Vista.
Es la presentación del modelo, mediante la cual se puede acceder a los datos; así también
la vista puede notificar cuando hay un cambio de estado en el modelo. Es la encargada de
crear las respuestas (XHTML) que corresponden ser enviadas al cliente. Cuando esta
respuesta tiene que incluir datos proporcionados por el Controlador, el código XHTML
no será fijo, es decir que deberá ser creado de forma dinámica, la implementación correrá
a cargo de una página JSP. (BAHIT, s.f.)
Modelo.
Contiene el núcleo de la funcionalidad de la aplicación, encapsula la fase de la aplicación,
es independiente del Vista y el Controlador. En la arquitectura MVC la lógica de negocio
de la aplicación, conteniendo el acceso a los datos y su manipulación, está encapsulada
dentro del modelo.
En una aplicación JEE7 el modelo puede ser implementado mediante clases estándar Java
o través de Enterprise JavaBeans. (BAHIT, s.f.)
15
2.2.6 Sistema de Gestor de Base de Datos.
Un Sistema de Gestión de Bases de Datos (SGBD Data Base Management System) es un
conjunto de programas que admiten el almacenamiento, modificación y extracción de la
información en una base de datos, también de facilitar herramientas para añadir, borrar,
modificar y analizar los datos. Los usuarios pueden acceder a la información utilizando
herramientas específicas de interrogación y de generación de informes. El SGBD
relacional es un modelo de datos que proporciona a los usuarios los datos que serán
almacenados en la base de datos juntos con un grupo de operaciones para manejar los
datos. Los SGBD también proporcionan métodos para mantener la integridad de los datos,
para administrar el acceso de usuarios a los datos y recuperar la información si el sistema
se corrompe.
Benchmarking, Sistemas Gestores de Base de Datos (MySQL 5.1 vs PostgreSQL
9.3.2.1).
La calificación se valora como “”, “”, y “” a cada una de las características de los
motores de base de datos, siendo = Cumplimiento satisfactorio, = Cumplimiento no
satisfactorio y = Cumplimiento parcial.
Tabla 2-2. Cuadro Comparativo – Motor de Base de Datos.
CARACTERÍSTICAS BASE DE DATOS
MySQL 5.1 PostgreSQL 9.3.2.1
Soporte multiplataforma
Open Source
Soporte para procedimientos y funciones
Varios tipos de datos
Interface de administración
Soporte técnico
Soporta transacciones
Comprobaciones de integridad referencial
Fuente: Lascano N. año 2016.
Una vez analizadas las características técnicas entre los motores de base de datos, se
puede decir que PostgreSQL 9.3.2.1 será el Motor de base de datos que será usada para
16
el proyecto integrador.
2.2.7 Servidor de Aplicaciones.
Figura 2-2. Servidor de Aplicaciones.
Fuente: http://es.slideshare.net/difagram/desarrollo-de-aplicaciones-web-ii-sesin-08-sesiones-y-
cookies
Un Servidor de aplicaciones proporciona la lógica de negocio sobre la que se puede
construir aplicaciones es un intermediario entre las peticiones/respuestas web desde y
hacia un cliente y las prestaciones a las que el usuario quiere acceder como son:
Procesamiento, memoria temporal, storage, conexiones, log de transacciones, etc.
Las principales ventajas de la tecnología de los servidores de aplicación son la
centralización y la disminución de la complejidad del desarrollo de aplicaciones, dado
que las aplicaciones no necesitan ser programadas en su lugar, estas son ensambladas
desde bloques suministrados por el servidor de aplicación. (GRANADOS, 2009) .
Benchamarking, servidores de aplicación (Jboss 6.0 vs Glassfish 4.1 WebSphere
8.0).
El Benchmarking es efectuado sobre los tres servidores de aplicaciones que se manejan
para desarrollar aplicaciones empresariales.
La calificación se valora como “”, “”, y “” a cada una de las características de los
servidores de aplicaciones, siendo = Cumplimiento satisfactorio, = Cumplimiento no
satisfactorio y = Cumplimiento parcial.
17
Tabla 2-3. Cuadro Comparativo – Servidor de Aplicaciones.
CARACTERÍSTICAS SERVIDORES DE APLICACIONES
Glassfish
4.1
JBoss EAP
6.0
WebSphere
8.0
Dirección remota
Soparte multiplataforma
Open source - Licenciamiento/Suscripción
Capacidad EJB 3.0
Soporta JEE7
Soporta JSF 2.0
Compatible a Netbeans 8.0.2
Facilidad para la administración del servidor
Fácil instalación
Soporte para múltiples motores de base de
datos
Fuente: Lascano N. año 2016.
Una vez estudiadas las características técnicas entre los tres servidores, observamos que
Glassfish 4.1 posee una ligera ventaja sobre JBoss 6.0 en cuestiones relacionadas con la
instalación y la administración, que al momento de un fallo en el servidor terminan
definiendo los tiempos de recuperación de la plataforma; así también los tres servidores
poseen características similares, tanto por sus capacidades de trabajar con JEE7, EJB 3.0
y JSF 2.0, pero por lo expuesto anteriormente se ha escogido a Glassfish como el servidor
de aplicaciones que será utilizado en el presente proyecto integrador.
2.2.8 Plataforma de desarrollo.
Se describe la plataforma que se ha utilizado en el desarrollo del presente trabajo, además
los patrones de diseño utilizados para llegar al objetivo mencionado anteriormente.
Arquitectura JEE7.
El objetivo principal de la plataforma Java EE 7 es facilitar el desarrollo proporcionando
una base en común para los varios tipos de componentes de la plataforma Java EE, los
18
beneficiados serán los desarrolladores de progresos en su productividad con más
ampliaciones y menos configuración XML, más Plain Old Java Objects (POJOs) y
empaquetado simplificado. (CABALLEROS, 2014)
La plataforma Java EE 7 tiene las siguientes características:
Perfiles: La configuración de la plataforma Java EE se adapta a distintos tipos de
aplicación.
Tecnologías nuevas:
API Java para servicios web RESTful (JAX-RS)
Gestión de Beans.
Contextos e inyección de dependencias para la plataforma Java EE (JSR 299),
conocida informalmente como CDI
Inyección de dependencias para Java (JSR 330)
Validación de Beans (JSR 303)
Interfaz de servicio proveedor de autenticación Java para contenedores (JASPIC)
Funcionalidad para servlets
Funcionalidades para componentes JavaServer Faces
Funcionalidades para componentes Enterprise JavaBeans (EJB)
Figura 2-3. Arquitectura JEE 7.
Fuente: http://www.slideshare.net/shekhargulati/modern-web-application-development-
with-java-ee-7.
19
2.2.9 Consideraciones Arquitecturales Etapas de la instalación.
Cabe recalcar que desde la capa de vista no debe haber la más mínima posibilidad de
acceder directamente a la lógica de negocio de las aplicaciones, por tal motivo la
arquitectura recomendada para separación de capas debería ser:
Figura 2-4. Separación de Capas en la Arquitectura JEE7.
Fuente: Fuente: Lascano N. año 2016.
Las páginas JSF se relacionan con el Controlador, el cual mediante inyección de
dependencia tiene un informe a la portada EJB, con el objetivo de que dicha portada
reserve la lógica de negocio formalizada con la tecnología EJB.
2.2.10 Herramientas certificadas.
Para el desarrollo del SISTEMA DE CONTROL VETERINARIO DE REGISTROS DE
BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA ENTRE PROGENIES
(DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA estará encaminado en
herramientas de código abierto, según el decreto 1014 de abril del 2008, con lo que el
software libre pasa a ser una política de Estado para ser adoptado por todas las entidades
públicas de la República del Ecuador, para el despliegue de la aplicación se hará uso del
sistema operativo Windows Server 2008 R2, esto debido a requerimientos de la
Fundación a Favor de la Vida, que es el auspiciante del presente proyecto.
PÁGINAS JSF
CONTROLADOREJB FACADE
EJB
20
Windows Server 2008 R2.
Figura 2-5. Logotipo Windows Server 2008 R2.
Fuente: http://www.descargarz.com/windows-server-2008-r2-todo-en-uno-64-bits-espanol-
booteable/
Es un sistema operativo de Microsoft diseñados para servidores. Server 2008 se basa en
núcleos Windows NT 6.0 Server Park 1.
Hay algunas discrepancias (útiles y otras no tanto) con respecto a la arquitectura del
Windows Server 2008, que pueden cambiar drásticamente la manera en que se usa este
sistema operativo, le ayuda a alcanzar nuevos niveles de confiabilidad y rendimiento con:
Herramientas de virtualización.
Recursos Web
Mejoras de administración.
Integración con Windows 7 (FUENTES, 2014)
El Sistema Operativo Windows Server 2008 R2 está disponible para la descarga en:
http://www.descargarz.com/windows-server-2008-r2-todo-en-uno-64-bits-espanol-
booteable/#sthash.ANImiavu.dpuf
JAVA EE.
Figura 2-6. Logotipo Java.
Fuente: http://www.descargarz.com/windows-server-2008-r2-todo-en-uno-64-bits-espanol-
booteable/
Es un lenguaje de programación orientada a objetos, es muy amplia. El lenguaje Java fue
creado con cinco objetivos principales los cuales se describe a continuación:
Debería usar el paradigma de la programación orientada a objetos.
21
Debería permitir la ejecución de un mismo programa en múltiples sistemas
operativos.
Debería incluir por defecto soporte para trabajo en red.
Debería diseñarse para ejecutar código en sistemas remotos de forma segura.
Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como
C++. (Oracle Corporation, 2015).
El jdk 1.8.0_51 está disponible para la descarga en:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-
2177648.html#jdk-8u51-oth-JPR
Servidor de aplicaciones Glassfish 4.1
Figura 2-7. Logotipo Glassfish 4.1.
Fuente: http://www.payara.fish/glassfish-411-is-here
Es un servidor de aplicaciones de software libre. La ejecución estándar de todo el stack
(conjunto) de descripciones concretos por la organización JCP (Java Comunity Process),
la cual concreta cada uno de los aspectos que darán forma a cada especificación parte de
la plataforma Empresarial Java como: JMS, JTA, JAX-WS, etc. (EcuRed, 2016).
Figura 2-8. Servidor de aplicaciones Glassfish.
Fuente: http://stackoverflow.com/questions/9954576/services-provided-by-the-different-java-
ee-containers
Las características de Glassfish en su versión 4.1 hacen excelente para la publicación de
la aplicación que se está desarrollando en el presente proyecto integrador.
El servidor de aplicaciones Glassfish 4.1 está disponible para la descarga en:
https://glassfish.java.net/download.html
22
Netbeans 8.0.2.
Figura 2-9. Logotipo NetBeans.
Fuente: http://www.fileayan.com/wp-content/uploads/2015/06/netbeans.png
Es un entorno de desarrollo integrado libre creado concretamente para el lenguaje Java,
es una herramienta para que los programadores puedan escribir, compilar, depurar y
ejecutar programas.
La plataforma Netbeans permite que las aplicaciones puedan ser desarrolladas en
módulos, es decir los módulos son archivo Java que oprime clases java escritas para
interactuar con las APIs de Netbeans y un archivo especial (manifest file) que lo identifica
como módulo. (Calendamaia, 2014).
El soporte para trabajar con Frameworks de desarrollo hace que Netbeans 8.0.2 sea el
IDE de desarrollo seleccionado para el desarrollo del presente proyecto integrador.
Está disponible para la descarga en:
https://netbeans.org/downloads/
Sistema Gestor de Base de Datos PostgreSQL 9.3.2.1
Figura 2-10. Logotipo PostgreSQL.
Fuente: http://logonoid.com/postgresql-logo/
PosgreSQL es un Sistema de Gestión d Base de Datos relacional orientado a objetos y
libre, el desarrollo de PostgreSQL no es manipulado por una empresa, cabe recalcar que
es dirigido por una comunidad de desarrolladores que trabajan de forma liberal.
(kinfantas, 2016).
A continuación listamos las características de PostgreSQL.
Estabilidad
Robustez
Facilidad de administración e
implementación de estándares
23
Acceso encriptado vía SSL Multiplataforma
El Sistema Gestor de Base de Datos que se utilizara en el Proyecto integrador es
PostgreSql 9.3.2.1 está disponible para la descarga en:
http://get.enterprisedb.com/postgresql/postgresql-9.3.2-1-linux.run
iReport 5.1.
Figura 2-11. Logotipo iReport.
Fuente: https://nedemi.wordpress.com/arquitectura/
La herramienta iReport es un constructor, diseñador, poderoso, gratuito y fácil de usar,
es de código abierto para Jasper Reports. Los datos para fijar pueden ser recobrados a
través de JDBC, Table Models, JavaBeans, XML, Hibernate, CSV, etc.
A continuación presenta algunas características de iReport:
100% escrito en JAVA y además OPENSOURCE y gratuito.
Maneja el 98% de las etiquetas de Jasper Reports
Admite diseñar con sus propias herramientas.
Browser de la estructura del documento.
Soporta JDBC.
Soporta JavaBeans como orígenes de datos.
Tiene asistentes para generar los subreportes
Facilidad de instalación.
Entorno de diseño visual
Soporte de fuentes de datos relacionales, no relacionales y personalizados. Los
subinformes permiten desglosar los datos y reutilizar los informes.
Una vez estudiado el iReport 5.1 se determina que será el diseñador de informes escogida
para el desarrollo del presente proyecto integrador.
A continuación el link de descarga del diseñador de reportaría Ireport 5.1:
http://hivelocity.dl.sourceforge.net/project/ireport/iReport/iReport-5.1.0/iReport-
5.1.0.tar.gz
24
3 METODOLOGÍA.
La metodología de desarrollo es una recopilación de documentación formal pertinente a
los procesos, las políticas y los procedimientos que intervienen en el desarrollo del
software es un cuadro de trabajo usada para estructurar, planificar y controlar el proceso
de desarrollo.
3.1 Metodología Ágiles.
En el "Manifiesto ágil" se definen los cuatro valores por las que se deberían guiar las
metodologías ágiles.
En esta metodología se valora.
• Al individuo y sus interacciones más que al proceso y las herramientas.
• Desarrollar software que funciona, más que obtener una buena documentación.
• La colaboración con el cliente más que la negociación de un contrato.
• Responder a los cambios más que seguir una planificación. (Fernández)
3.2 Comparación de Metodologías Ágiles vs Metodologías Tradicionales.
Para que el desarrollo de software sea exitoso, se requiere de diversos elementos
agrupados que ayuden a obtener este objetivo que no solo afectan el proceso en sí, sino
también el contexto del equipo de trabajo y su organización.
Por ello existen varias consideraciones que debe analizar antes de seleccionar una
metodología con la finalidad de obtener mayor beneficio de su aplicación y no convertirlo
en un riesgo o impedimento para el avance en el desarrollo del proyecto.
25
Tabla 3-1. Cuadro Comparativo de Metodología Ágil Vs Metodología Tradicional.
Metodologías Ágiles Metodologías Tradicionales
El Cliente forma parte del equipo de
desarrollo.
El Cliente interactúa con el equipo desarrollo
mediante reuniones. Contrato sumamente flexible. Contrato precisado.
Los grupos de trabajo son menor a 10
personas y en el mismo sitio.
Los Grupos son mayores a 10 personas y
trabajan en varios sitios. La arquitectura tiene menos énfasis. La arquitectura es fundamental.
Roles específicos. Roles diversos.
Los Módulos son Funcionales. Las Soluciones son Completas.
Experimentación, mejora y reprioriza Planificación cerrada
Usan Artefactos mínimos. Usan Diversidad de artefactos.
Cortas iteraciones Desarrollo lineal
Interacción continua Especificaciones iniciales
No se opone a cambios. Se resistirse al cambio.
Fuente: Lascano N. año 2016.
3.2.1 Benchmarking, Metodologías de Desarrollo (XP vs SCRUM vs ADAPTIVE
SOFTWARE DEVELOMENT).
La calificación se valora como “”, “”, y “” a cada una de las características de los
medios de desarrollo integrado, siendo = Cumplimiento satisfactorio, =
Cumplimiento no satisfactorio y = Cumplimiento parcial.
Tabla 3-2. Benchmarking, Metodología de Desarrollo (XP vs SCRUM vs ADAPTIVE
SOFTWARE DEVELOMENT).
CARACTERÍSTICAS METODOLOGIAS DE DESAROLLO
XP SCRUM
ADAPTIVE SOFTWARE
DEVELOMENT
Aplicable a entornos de desarrollo agiles.
Entregables del proyecto al cliente en poco
tiempo.
Realización de reuniones periódicas mientras
dure el proyecto.
Se pueden realizar cambios en los entregables
hechos a los clientes.
Basado en iteraciones.
Se basa en la creación de producto.
Fuente: Lascano N. año 2016.
26
Una vez analizadas las características entre las metodologías de desarrollo, se puede decir
que XP será la Metodología de Desarrollo que será usada para el proyecto integrador.
3.3 Programación Extrema (XP)
Extreme Programming (XP) – Programación extrema.
XP es una metodología de desarrollo de la ingeniería de software es el más definido de
los procesos ágiles de desarrollo de software, la programación externa se diferencia de
las metodologías tradicionales especialmente en poner más énfasis en la adaptabilidad
que en la previsibilidad. La infraestructura flexible de desarrollo de software que facilita
prácticas recomendadas y probadas con una arquitectura configurable, definiendo
claramente:
Quién debe hacer, Qué hacer, Cuándo hacer y Cómo se lo debe hacer.
No existe un proceso de desarrollo de software universal, las características de este
proyecto integrador requieren que todo proceso sea parametrizable, por tanto, la
metodología a seguir en el actual proyecto integrador será la que propone XP.
XP se puede considerar la programación extrema como la admisión de las mejores
metodologías de desarrollo de acuerdo a lo que se intenta llevar a cabo con el proyecto, y
emplearlo de modo dinámico durante el ciclo de vida del software. Las herramientas
manipuladas en la elaboración de los diagramas UML que se muestra en el actual
proyecto integrador son: Sybase Power Designer 15 y Microsoft Visio 2010.
3.4 Objetivos de XP.
Satisfacción del Cliente.
Potenciar el trabajo en grupo.
Minimizar el riesgo actuando sobre
las variables del proyecto:
Costo
Tiempo
Calidad
Alcance
27
Figura 3-1. Ciclo de Vida XP.
Fuente: http://fi.ort.edu.uy/innovaportal/file/2021/1/metodologia_xp.pdf
El Ciclo de Vida de XP consiste en seis fases:
Exploración: Los clientes ejecutan las story cards que desean que estén para la
primera entrega.
Planificación: El objetivo de esta fase es fijar la prioridad de cada una de las
stories y se establece cual va a ser el contenido de la primer entrega.
Iteraciones por entregas: Contiene varias iteraciones del sistema antes de la
entrega del primer reléase. El calendario es dividido en un número iteraciones de
tal manera de que cada iteración tome de una a cuatro semanas de
implementación.
Producción: Requiere realizar mucho más chequeos y testing antes que el sistema
sea entregado al cliente.
Mantenimiento: Por lo general se necesita un esfuerzo extra de los
programadores para satisfacer los requerimientos del cliente.
Muerte: Se acerca una vez que el cliente no tiene ninguna story a ser
implementada.
28
3.5 Fases de XP.
El Proceso de desarrollo de software se divide en cuatro fases secuenciales, en cada
extremo de una fase se ejecuta una evaluación para determinar si se cumplió con los
objetivos e hitos de dicha fase, es por esto que en XP, cada fase produce una nueva
versión del producto.
A continuación las fases de la Metodología XP.
Fase de Planificación de Proyecto
Fase de Diseño
Fase de Codificación
Fase de Pruebas.
3.6 Fase de Planificación de Proyecto.
En esta fase lo primero que se debe hacer es una recopilación de todos los requerimientos
del proyecto, todo el detalle de esta etapa se encuentra en el ANEXO B, al igual que se
debe hacer una interacción con el usuario, y se debe planificar bien entre los
desarrolladores del proyecto que es lo que se espera para el proyecto para sí lograr los
objetivos finales, en el ANEXO C se encuentra el acta de constitución de proyecto con
lo cual se da inicio al mismo.
3.6.1 Recopilación de información.
La información ha sido recopilada en la Fundación a Favor de la Vida. Los sujetos
investigados fueron los funcionarios encargados de llevar a cabo el proceso de control de
registro de bovinos enfocados en la diferencia esperada entre progenies, tales como la
Directora, en cargada de llevar el proceso de mejoramiento de la genética de los bovinos.
El proceso mediante el cual se realizó el levantamiento de la información fue el de
observación de campo, simultáneamente con entrevistas continuas aplicadas al director
de la mencionada dirección encargado de llevar a cabo el proceso de control del
mejoramiento de la progenie de la Fundación a Favor de la Vida.
29
La información que se consiguió fue expresada en términos empresariales, ya que no
todos los empleados son especializados en sistemas de información y por ende se les
confunde el dialogar en términos técnicos sobre temas relacionados al desarrollo de
sistemas, es aquí donde se emplea UML para llegar a una visión y entendimiento del
problema a solucionarse por parte de los actores implicados en el proceso que será
implementado.
3.6.2 Actores o Roles que Intervienen en el Sistema.
Se identificó cuatro actores que intervendrán en el proceso de control de registros de
bovinos, cada uno de ellos participara en los diferentes casos de uso que el sistema
requiere, y esperando como salida de un resultado distinto, dichos actores son:
Súper Administrador.
Administrador.
Capataz.
Secretaria.
Actor Súper Administrador: Representa al delegado del mantenimiento de la
base de datos del sistema de Control de Registros. El trabajo del súper
administrador radica en crear, modificar, activar y desactivar de ser el caso,
usuarios, registros de variables del sistema y catálogos generales.
Actor Administrador: El trabajo del administrador radica en crear, modificar,
registros de los bovinos, algunas variables del sistema, catálogos generales.
Actor Capataz: Representa al encargado de crear, modificar registros de los
bovinos; así como también visualizar determinados reportes, mismos que debe
presentar a los empleados y ganaderos que pertenezcan a la institución si ellos lo
solicitan.
Actor Secretaria: Representa al encargado de visualizar reportes específicos;
esto con la finalidad de que vea cómo evoluciona la progenie de los bovinos.
3.6.3 Historia de los Usuarios.
Es una manera simple de describir una tarea concisa que aporta valor al usuario o al
negocio.
30
Tabla 3-3. Lista de Historia de Usuarios de la Aplicación.
Nª Nombre (Historia de Usuario)
1 Autenticar Usuario
2 Administrar Usuario
3 Administrar Sistema
4 Administrar Bovinos
5 Administrar Reportes
Fuente: Lascano N. año 2016.
3.6.4 Historia de Usuario 1. Autenticar Usuario.
Tabla 3-4. Autentificar Usuario.
Historia de Usuario
DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE
REGISTROS DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA
ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA.
Número de Historia :1 Título: Autenticar Usuario.
Usuario: Súper Administrador, Administrador, Capataz, Secretaria.
Fecha Inicio: 05/04/2016
Fecha Fin: 10/04/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Anotaciones:
Fuente: Lascano N. año 2016.
Permite el acceso a la aplicación de un usuario registrado y con los permisos de
acuerdo a su Rol (Súper Administrador, Administrador, Capataz, Secretaria).
Mensaje de error si se ingresa un usuario o clave incorrecta.
31
3.6.5 Historia de Usuario 2. Administrar Usuario.
Tabla 3-5. Administrar Usuario.
Historia de Usuario
DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE
REGISTROS DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA
ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA.
Número de Historia :2 Título: Administrar Usuario.
Usuario: Súper Administrador, Administrador.
Modificación de Historia: 05/04/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la historia:
Anotaciones:
Fuente: Lascano N. año 2016.
3.6.6 Historia de Usuario 3. Administrar Sistema.
Tabla 3-6. Administrar Sistema.
Historia de Usuario
DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE
REGISTROS DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA
ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA.
Número de Historia :3 Título: Administrar Sistema.
Usuario: Súper Administrador, Administrador.
Modificación de Historia: 05/04/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Permite la creación, modificación, activación y desactivación de cuentas de usuario
en el sistema. (Súper Administrador, Administrador, Capataz y Secretaria).
La información que se requiere para ingresar un nuevo usuario son:
Nombre, Apellido, cédula, Correo electrónico.
32
Descripción de la Historia:
Anotaciones:
Fuente: Lascano N. año 2016.
3.6.7 Historia de Usuario 4. Administrar Bovinos.
Tabla 3-7. Administrar Bovinos.
Historia de Usuario
DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE
REGISTROS DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA
ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA.
Número de historia :4 Título: Administrar Bovinos.
Usuario: Capataz.
Modificación de historia: 05/04/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la historia:
Anotaciones:
Fuente: Lascano N. año 2016.
Permite registrar y modificar empresa, roles, catálogos generales del sistema;
adicionalmente permite modificar variables del sistema.
Los datos que se ingresen deben ser reales.
Permite registrar y modificar los datos relacionados a los movimientos que un bovino
puede tener durante su etapa de vida. Este va directamente ligado con la
Administración del sistema ya que en sus procesos ocupan los distintos catálogos
generales que están registrados en el sistema.
Hay que tener en cuenta que en los registros de los bovinos depende de la edad.
33
3.6.8 Historia de Usuario 5. Administrar Reportes.
Tabla 3-8. Administrar Reportes.
Historia de Usuario
DESARROLLO DE UN SISTEMA DE CONTROL VETERINARIO DE
REGISTROS DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA
ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA.
Número de Historia :5 Título: Administrar Reportes.
Usuario: Súper Administrador, Administrador, Capataz y Secretaria.
Modificación de Historia: 05/04/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Anotaciones:
Fuente: Lascano N. año 2016.
3.7 Fase de Diseño.
Diseños simples: La metodología X.P sugiere que hay que conseguir diseños simples y
sencillos, modelación del negocio de la Fundación a Favor de la Vida se obtiene los
casos de uso del negocio, diagramas de secuencia. Hay que procurar hacerlo todo lo
menos complicado posible para conseguir un diseño fácil, entendible e implementable
que a la larga costará menos tiempo y esfuerzo desarrollar. Se obtiene el Modelo de
Análisis/Diseño: Diagrama de Clases, Modelo de Datos: Modelo Relacional, Diccionario
de Datos en el ANEXO D.
Permite mostrar los datos, luego de que estos estén sometidos a procesos de cálculos,
al usuario final, esto con el objetivo de que el usuario pueda, en base a los datos
mostrados, tomar una decisión respecto algún tipo de proceso.
Hay que tener en cuenta que debe existir datos.
34
3.7.1 Funciones.
El SISTEMA DE CONTROL DE REGISTROS DE BOVINOS ENFOCADOS EN LA
DIFERENCIA ESPERADA ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A
FAVOR DE LA VIDA posee las siguientes funciones:
Administración.
Seguridades.
Control de bovinos.
Reportes.
3.7.2 Diagrama de Casos de Uso.
A continuación se detallan los casos de uso del sistema de control de registros de bovinos
enfocados en la diferencia esperada entre progenies (DEPS) para la Fundación a Favor de
la Vida, los cuales permitirán describir las funcionalidades del sistema.
a) Casos de Uso General.
Figura 3-2. Diagrama de Casos de Uso General.
Fuente: Lascano N. año 2016.
35
b) Casos de Uso para Súper Administrador.
Figura 3-3. Diagrama de Casos de Uso para Súper Administrador.
Fuente: Lascano N. año 2016.
c) Casos de Uso para Administrador.
Figura 3-4. Diagrama de Casos de Uso para Administrador.
Fuente: Lascano N. año 2016.
36
d) Casos de Uso para Capataz.
Figura 3-5. Diagrama de Casos de Uso para Capataz.
Fuente: Lascano N. año 2016.
e) Casos de Uso para Secretaria.
Figura 3-6. Diagrama de Casos de Uso para Secretaria.
Fuente: Lascano N. año 2016.
3.7.3 Descripción de Casos de Uso.
Ingresar al Sistema.
Tabla 3-9. Descripción de Caso de Uso Ingresar al Sistema.
Caso de uso: Ingresar al sistema,
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador, Secretaria, Capataz.
Descripción:
Admite ingresar al sistema, con la respectiva autentificación de nombre de usuario y
contraseña.
Precondiciones:
Ingresar correctamente a la dirección del sistema (URL).
Tiene que estar registrado el usuario en el sistema.
Tiene que autentificarse correctamente.
37
Flujo Normal:
El usuario ingresa a la dirección (URL) de la página web.
El usuario debe ingresar el username y el password que le corresponde.
El sistema adquiere la información del rol y muestra solo las opciones que
puede realizar el usuario en el sistema.
Pos condiciones:
Si el username y password introducidos son correctos y únicos, el usuario
ingresa a la página de index del sistema.
Si el username o el password son incorrectos, el sistema muestra un mensaje
en el que afirma que el usuario no existe.
Fuente: Lascano N. año 2016.
Cambiar de Contraseña.
Tabla 3-10. Descripción de Caso de Uso Cambiar de Contraseña.
Caso de uso: Cambiar de contraseña.
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador, Secretaria, Capataz.
Descripción:
Consiente en realizar el cambio de contraseña para el usuario en el sistema.
Precondiciones:
Tiene que estar registrado el usuario en el sistema.
Tiene que estar legitimado el usuario en el sistema.
Flujo Normal:
1. El usuario debe ingresar a la dirección URL de cambio de contraseña del
sistema.
2. El usuario ingresa su contraseña antigua, así como también su nueva
contraseña con su respectiva confirmación.
3. El sistema comprueba si coincide la antigua contraseña ingresada con la que
se encuentra recopilada en la base de datos, y de la misma manera comprueba
si coinciden la nueva contraseña con su confirmación.
4. El sistema efectúa el cambio de contraseña.
Pos condiciones:
En seguida del cambio de contraseña el sistema debe reanudar al index del
sistema.
Si la antigua contraseña no coincide con la ingresada, el sistema envía un
mensaje de error.
Si la nueva contraseña no concuerda con su confirmación, el sistema envía un
mensaje de error.
Fuente: Lascano N. año 2016.
38
Generar Reportes.
Tabla 3-11. Descripción de Caso de Uso Generar Reportes.
Caso de uso: Generar de reportes
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador, Secretaria, Capataz.
Descripción:
Consiente en generar reportes al usuario bajo medidas de consulta, dependen del rol
que goce el usuario.
Precondiciones:
Tiene que estar registrado el usuario en el sistema.
El usuario debe estar autorizado en el sistema.
El rol que posee el usuario debe ser apropiado dentro del sistema.
Flujo Normal:
1. El usuario ingresa a la dirección URL que necesite generar el reporte.
2. El usuario debe ingresar las medidas obligatorias para la generación del
reporte, y si desea ingresa medidas no obligatorias.
3. El sistema genera el reporte requerido por el usuario.
Pos condiciones:
El sistema permanecerá en la misma página en la que se generó el reporte.
Si el usuario no integra los parámetros obligatorios, mostrara un mensaje de
error por cada parámetro no integrado.
Fuente: Lascano N. año 2016.
Visualizar Reportes.
Tabla 3-12. Descripción de Caso de Uso Visualizar Reportes.
Caso de uso: Visualizar reportes.
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador, Secretaria, Capataz.
Descripción:
Permite visualizar los reportes en formato PDF y XLSX.
Precondiciones:
El usuario debe haber generado anticipadamente el reporte.
Flujo Normal:
1. El usuario escoge el formato en el que visualizara el reporte.
2. El usuario ejecuta la descarga del reporte.
3. El usuario visualiza la información del reporte.
39
Pos condiciones:
El sistema permanece en la misma página con los que generó el reporte.
Si el usuario genero el reporte con errores, el sistema envía un mensaje de
error.
Fuente: Lascano N. año 2016.
Visualizar de Registros de Bovinos.
Tabla 3-13. Descripción de Caso de Uso Visualizar de Registro de Bovinos.
Caso de uso: Visualizar de registros de bovinos
Fecha: 05-04-2016
Autores: Administrador, Secretaria, Capataz.
Descripción:
Consiente en visualizar los registros de los bovinos de la hacienda, se los realiza
atreves de parámetros de búsqueda.
Precondiciones:
El usuario tiene que estar autorizado el usuario en el sistema.
El usuario debe ostentar un rol conveniente en el sistema.
Flujo Normal:
1. El usuario ingresa a la dirección URL del sistema, el cual accede a realizar la
búsqueda de registros de los bovinos.
2. El usuario integra los parámetros obligatorios que son solicitados por el
sistema para ejecutar la búsqueda de registros de bovinos.
3. El usuario ingresa los parámetros no necesarios que pide el sistema si desea
afinar la búsqueda de registros.
4. El usuario da clic en el botón buscar para visualizar en pantalla los registros
de bovinos obtenidos de la búsqueda bajo los parámetros establecidos.
Pos condiciones:
El sistema permanecerá en la misma página que género la búsqueda para la
visualización del reporte de los bovinos y con los mismos parámetros que
ingreso.
Si el usuario realiza la búsqueda de registros de bovinos con errores, muestra
un mensaje de error del proceso realizado.
Fuente: Lascano N. año 2016.
40
Administrar de Variables del Sistema.
Tabla 3-14. Descripción de Caso de Uso Administrar de variables del Sistema.
Caso de uso: Administrar de variables del sistema
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador.
Descripción:
Admite modificar variables de configuración del sistema con el objetivo de
parametrizar el sistema.
Precondiciones:
Tiene que estar legitimado el usuario en el sistema.
Debe poseer un rol apropiado dentro del sistema.
Flujo Normal:
1. El usuario ingresa a la dirección URL de administración de las variables del
sistema, la misma que muestra una lista las variables del sistema que se
crearon, al final de cada registro tiene las operaciones de editar y ver.
2. Para editar, se debe seleccionar del listado de variables del sistema lo que desee
modificar, presiona clic en “editar” el cual enviará un mensaje de validación
para que se efectué la edición de registro, si acepta, muestra la pantalla en
donde puede ingresar los nuevos valores de la variable del sistema, luego de
esto debe presionar el botón modificar.
3. Para que el usuario visualice los valores de la variable del sistema, debe
presionar clic en “ver” se le presenta una pantalla en la cual se consigue
visualizar los valores de la variable.
4. El sistema verifica la información, modifica, y actualiza la lista de las variables
del sistema.
Pos condiciones:
Una vez finalizado el proceso de modificación del registro, se debe visualizar
los cambios que se efectuó re direccionándose a la página donde pueda
comprobar.
Una vez modificado los registros se tiene que actualizar la lista de registros de
variables del sistema.
Si el usuario modifica con errores los registros, envía mensajes de error del
proceso realizado.
Fuente: Lascano N. año 2016.
41
Administrar Haciendas.
Tabla 3-15. Descripción de Caso de Uso Administrar Haciendas.
Caso de uso: Administrar Haciendas.
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador.
Descripción:
Admite crear, modificar, activar y desactivar haciendas que registra el sistema.
Precondiciones:
Tiene que estar legitimado el usuario en el sistema.
Debe poseer un rol apropiado dentro del sistema.
Flujo Normal:
1. El usuario ingresa a la dirección URL de administración de haciendas, en el
cual muestra la lista de todas las haciendas creadas en el final de cada registro
las operaciones de editar y ver, en la parte superior de la tabla se muestra un
enlace directo a la creación de un nuevo registro.
2. Para crear, presiona clic en “Crear” que se encuentra en la parte superior de la
pantalla de administración de haciendas, ingresa los datos de la hacienda.
3. Para editar, seleccione la hacienda el registro que desea modificar, presione
“editar” en el que muestra un mensaje de ratificación para la edición de
registro, si acepta muestra la pantalla en la que debe ingresar los nuevos
valores de la hacienda, a continuación presionar el botón modificar.
4. Para la activación, buscar la hacienda que desee, presione “activar” en la cual
enviara un mensaje si desea activar el registro, presione el botón aceptar con
lo que la hacienda se activa.
5. Para desactivar, buscar la hacienda deseada, presiona desactivar y envía un
mensaje si desea desactivar el registro, presione el botón aceptar con lo que la
hacienda se desactiva.
Flujo Alternativo:
1. Para la creación de una hacienda, cabe recalcar que se lo puede realizar
directamente desde el menú del sistema.
Pos condiciones:
Una vez finiquitado el proceso de creación de un nuevo registro, se debe
persistir en la misma página de creación de hacienda.
Una vez finiquitado el proceso de modificación de un registro, se debe re
direccionar a la página donde pueda verificar los cambios del registro.
Una vez finiquitado el proceso de la activación y desactivación de una
hacienda se debe persistir en la página en la que se realizó los procesos.
Si el usuario realiza ingresos, modificaciones y búsquedas de registros con
errores, envía un mensaje de error referente al proceso que haya realizado.
Fuente: Lascano N. año 2016.
42
Administrar Catálogos.
Tabla 3-16. Descripción de Caso de Uso Administrar Catálogos.
Caso de uso: Administrar catálogos.
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador.
Descripción:
Accede modificar catálogos dentro del sistema.
Precondiciones:
Tiene que estar legitimado el usuario en el sistema.
Debe poseer un rol apropiado dentro del sistema.
Flujo Normal:
1. El usuario ingresa a la dirección de administración de catálogos, el cual
muestra una el lista de los catálogos creados, al final de cada registro las
opciones editar y ver, en la parte superior se muestra un enlace directo a la
creación de un nuevo registro.
2. Para crear, presiona clic en el enlace Crear que se encuentra en la parte superior
de la pantalla de administración de haciendas, ingresa los datos del catálogo.
3. Para modificar, seleccionar de la lista de catálogos el registro que desea
modificar, presione “editar” en el caso de aceptar envía un mensaje de
validación, muestra la pantalla en la cual debe ingresar los nuevos valores del
catálogo.
Flujo Alternativo:
1. La creación del catálogo se lo puede realizar directamente desde el menú del
sistema.
Pos condiciones:
Una vez finiquitado la creación de un registro, permanecerá en la misma
página de creación del catálogo.
Una vez finiquitado la modificación de un registro, acceder a la página donde
pueda apreciar los cambios realizados sobre el registro.
Si el usuario ingresa, modificaciones de registros con errores, envía un
mensaje de error referente al proceso realizado.
Fuente: Lascano N. año 2016.
43
Administrar Usuarios.
Tabla 3-17. Descripción de Caso de Uso Administrar Usuarios.
Caso de uso: Administrar usuarios.
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador.
Descripción:
Admite crear, modificar, activar, desactivar y cambiar de contraseña a los usuarios del
sistema.
Precondiciones:
Tiene que estar legitimado el usuario en el sistema.
Debe poseer un rol apropiado dentro del sistema.
Flujo Normal:
1. El usuario ingresa a la dirección URL de administración de usuarios, el cual
presenta una lista de todos los usuarios existentes, cada registro tiene al final
las opciones editar y ver, en la parte superior muestra un enlace directo a la
creación de un nuevo registro.
2. Para crear, presione clic en el enlace Crear localizado en la parte superior,
ingrese los datos que desea ingresar y presiona el botón crear.
3. Para modificar, seleccione el listado de usuarios el registro que desea
modificar, presiona “editar” el cual envía un mensaje de confirmación, en el
caso de aceptar, muestra la pantalla en la que debe ingresar los nuevos valores
del usuario.
4. Para activar, buscar el usuario requerido, presione “activar” enviara un sistema
un mensaje si desea activar el registro, aceptar de esta manera el usuario es
activado.
5. Para desactivar, buscar el usuario requerido, presione “desactivar” enviara un
mensaje si desea desactivar el registro, presiona aceptar de esta manera se
desactiva el usuario.
6. Para el cambio de contraseña, elegir la opción Avanzadas-cambiar
contraseña, enviara un mensaje en la cual debe ingresar su contraseña actual
así como también la nueva contraseña con su confirmación, presione guardar.
7. El sistema verifica la información, agrega o modifica el registro deseado.
Flujo Alternativo:
1. Para crear un usuario se puede ejecutar directamente desde el menú del sistema
con el siguiente con el siguiente detalle:
SeguridadesUsuarios Crear.
Pos condiciones:
Al finiquitar la creación de un registro nuevo, se permanecerá en la misma
página que se creó al usuario.
Al finiquitar la modificación del registro, se debe re direccionar a una nueva
página en la cual se pueda visualizar los cambios realizados sobre el registro.
44
Al finalizar la activación y desactivación de una dependencia se debe
permanecer en la misma página en la que se realiza los mencionados procesos.
Tanto en la creación, modificación, activación y desactivación de registros se
debe actualizar la lista de registro de dependencias.
Si al realizar el cambio de contraseña, el usuario ingresa de manera incorrecta
la contraseña que posee actualmente, el sistema presenta un mensaje de error.
Si al realizar el cambio de contraseña, el usuario ingresa de manera incorrecta
la confirmación de la nueva contraseña, el sistema presenta un mensaje de
error.
Si el usuario realiza ingresos, modificaciones y búsquedas de registros con
errores, el sistema muestra mensajes de error alusivos al proceso realizado.
Fuente: Lascano N. año 2016.
3.7.4 Diagramas de Secuencia.
A continuación se detallan los diagramas de secuencia para los casos de uso descritos
anteriormente.
Módulo de Seguridad del Sistema.
a) Login.
Figura 3-7. Diagrama de Secuencia Login de Usuario.
Fuente: Lascano N. año 2016.
45
b) Olvido de Contraseña.
Figura 3-8. Diagrama de Secuencia Olvido la Contraseña.
Fuente: Lascano N. año 2016.
c) Crear Usuario.
Figura 3-9. Diagrama de Secuencia Crear Usuario.
Fuente: Lascano N. año 2016.
46
d) Modificar Usuario.
Figura 3-10. Diagrama de Secuencia Modificar Usuario.
Fuente: Lascano N. año 2016.
e) Activar Usuario.
Figura 3-11. Diagrama de Secuencia Activar Usuario.
Fuente: Lascano N. año 2016.
47
f) Desactivar Usuario.
Figura 3-12. Diagrama de Secuencia Desactivar Usuario.
Fuente: Lascano N. año 2016.
Módulo de Administración del Sistema.
a) Crear Hacienda.
Figura 3-13. Diagrama de Secuencia Crear Hacienda.
Fuente: Lascano N. año 2016.
48
b) Modificar Hacienda.
Figura 3-14. Diagrama de Secuencia Modificar Hacienda.
Fuente: Lascano N. año 2016.
c) Activar Hacienda.
Figura 3-15. Diagrama de Secuencia Activar Hacienda.
Fuente: Lascano N. año 2016.
49
d) Desactivar Hacienda.
Figura 3-16. Diagrama de Secuencia Desactivar Hacienda.
Fuente: Lascano N. año 2016.
e) Modificar Variable de Sistema.
Figura 3-17. Diagrama de Secuencia Modificar Variable de Sistema.
Fuente: Lascano N. año 2016.
50
f) Crear Catálogo General.
Figura 3-18. Diagrama de Secuencia Crear Catálogo.
Fuente: Lascano N. año 2016.
g) Modificar Catálogo General.
Figura 3-19. Diagrama de Secuencia Modificar Catálogo General.
Fuente: Lascano N. año 2016.
51
Módulo de Reportes.
a) Generación de Reporte.
Figura 3-20. Diagrama de Secuencia Generación de Reporte.
Fuente: Lascano N. año 2016.
52
3.7.5 Diagrama de Clases.
En esta etapa se detallan los diagramas de clases para el sistema. Los siguientes gráficos
muestran las clases principales del sistema y como estas interactúan entre sí.
Figura 3-21. Diagrama de Clases, AbstracFacade.
Fuente: Lascano N. año 2016.
ParametroConsulta
-
-
nombreParametro
valorParametro
: String
: Object
+
+
+
+
getNombreParametro ()
setNombreParametro (String nombreParamet
ro)
getValorParametro ()
setValorParametro (Object valorParametro
)
: String
: void
: Object
: void
AbstractFacade
-
-
em
entityClass
: EntityManager
: Class<T>
+
+
+
+
+
+
+
+
+
+
+
+
create (entity T)
edit (entity T)
remove (entity T)
find (Object id)
findAll ()
generarConsultaDinamica (String query,
List<ParametroConsulta> parametros)
findByNamedQuerySingleResult (String que
ry)
consultarTablaSingleResult (String query
, List<ParametroConsulta> parametros)
findByNamedQueryResultList (String query
)
executeQueryIntResult (String query)
executeNativeQueryBoleanResult (String q
uery)
executeQueryListResult (String query,
List<ParametroConsulta> parametros)
: void
: void
: void
: T
: List<T>
: Query
: Object
: Object
: List<T>
: int
: boolean
: List<T>
AbstractFacadeLocal
+
+
+
+
+
create (entity T)
edit (entity T)
remove (entity T)
find (Object id)
findAll ()
: void
: void
: void
: Object
: List<T>
53
Figura 3-22. Diagrama de Clases, Principales del Sistema.
Fuente: Lascano N. año 2016.
0..1
0..*
0..10..*
0..10..* 0..1
0..*
0..1
0..*
0..1
0..*
0..1
0..*
0..1
0..*
0..1
0..*
Empresa
-
-
-
-
-
empNombreLargo
empNombreCorto
empDireccion
empRuc
empRepresentanteLegal
: String
: String
: String
: String
: String
+
+
+
+
crear (Empresa t)
actualizar (Empresa t)
enable (Empresa t)
disable (Empresa t)
: void
: void
: void
: void
Hacienda
-
-
-
-
-
hacNombre
hacDireccion
hacTelefono
hacCelular
hacGerente
: String
: String
: String
: String
: String
+
+
+
+
crear (Hacienda t)
actualizar (Hacienda t)
enable (Hacienda t)
disable (Hacienda t)
: void
: void
: void
: void
GrupoTipoMedicion
-
-
gruTipMedNombre
gruTipMedDescripcion
: String
: String
+
+
Crear (GrupoTipoMedicion t)
Actualizar (GrupoTipoMedicion t)
: void
: void
Establo
-
-
-
etbNombre
etbEncargado
etbCapacidad
: String
: String
: String
+
+
+
+
crear (Establo t)
actualizar (Establo t)
enable (Establo t)
disable (Establo t)
: void
: void
: void
: void
Bonino
-
-
-
-
bovRp
bovHbe
bovFechaNacimiento
bovNombre
: int
: int
: Date
: String
+
+
+
+
+
+
+
+
+
crear (Bonino t)
actualizar (Bonino t)
ingresarPadre ()
ingresarMadre ()
ingresarCria (Bonino t)
buscarPorHacienda ()
buscarPorHaciendaGenero (int idHacienda,
String estadoBovino, int idGenero)
cambiarEtapaVida ()
darDeBaja (Bonino t)
: void
: void
: void
: void
: void
: List<Bovino>
: List<Bovino>
: void
: void
Prepucio
-
-
prpFechaRegistro
prpDescripcion
: Date
: String
+
+
+
crear (Prepucio t)
actualizar (Prepucio t)
buscarPorBovino ()
: void
: void
: Prepucio
Escrotal
-
-
-
escValor
escFechaRegistro
escDescripcion
: int
: Date
: String
+
+
+
crear (Escrotal t)
actualizar (Escrotal t)
buscarPorBovino (int idBovino)
: void
: void
: Escrotal
Altura
-
-
-
altValor
altFechaRegistro
altDescripcion
: double
: Date
: String
+
+
+
crear (Altura t)
actualizar (Altura t)
buscarPorBovino (int idBovino)
: void
: void
: Altura
Categoria
-
-
cat_nombre
cat_descripcion
: String
: String
+
+
Crear (Categoria t)
Actualizar (Categoria t)
: void
: void
Peso
-
-
-
pesValor
pesoFechaRegistro
pesoDescripcion
: double
: Date
: String
+
+
+
crear (Peso t)
actualizar (Peso t)
buscarPorBovino (int idBovino)
: void
: void
: Peso
Usuario
-
-
-
-
-
-
usu_cedula
usu_password
usu_apellido
usu_nombre
usu_mail
usu_estado
: String
: String
: String
: String
: String
: String
+
+
+
+
+
+
+
crear (Usuario t)
actualizar (Usuario t)
login (String cedula, String password)
enable (Usuario t)
disable (Usuario t)
cambiarContrasenia (Usuario t)
buscarPorId (String cedula)
: void
: void
: Usuario
: void
: void
: void
: Usuario
TipoMedicion
-
-
tipMedNombre
tipMedDescripcion
: String
: String
+
+
Crear (TipoMedicion t)
Actualizar (TipoMedicion t)
: void
: void
Rol
-
-
rolNombre
rolDescripcion
: String
: String
+
+
crear (Rol t)
actualizar (Rol t)
: void
: void
Raza
-
-
raz_nombre
raz_descripcion
: String
: String
+
+
+
crear (Raza t)
actualizar (Raza t)
buscarPorCategoria (int idCategoria)
: void
: void
: List<Raza>
Configuracion
-
-
-
-
conNombre
conDescripcion
conValorTexto
conValorNumero
: String
: String
: String
: int
+
+
crear (Configuracion t)
actualizar (Configuracion t)
: int
: int
54
3.7.6 Base de Datos.
a) Diagrama entidad-relación de base de datos.
A continuación se presenta el diagrama entidad – relación para el sistema, en el cual se
muestra las entidades (tablas) con sus atributos (campos) existentes en el sistema, así
como también las relaciones y restricciones que existen entre ellas.
55
Figura 3-23. Diagrama Modelo de Datos: Modelo Relacional.
Fuente: Lascano N. año 2016.
ROL
rol_id
rol_nombre
rol_descripcion
rol_estado
rol_fecha_crea
rol_usuario_crea
INT2
VARCHAR(50)
VARCHAR(100)
VARCHAR(1)
DATE
VARCHAR(10)
<pk>
ROL_MENU
pk_rol_menu_id
pk_men_id
INT2
INT4
<pk,fk1>
<pk,fk2>
MENU
men_id
fk_id_men_padre
men_nombre
men_url
men_nivel
men_orden
men_class
men_descripcion
men_estado
INT4
INT4
VARCHAR(50)
VARCHAR(100)
CHAR(1)
INT2
VARCHAR(50)
VARCHAR(150)
VARCHAR(1)
<pk>
<fk>
ROL_USUARIO
pk_usu_cedula
pk_rol_id
VARCHAR(10)
INT2
<pk,fk1>
<pk,fk2>
USUARIO
usu_id
usu_cedula
usu_password
fk_hac_id
usu_fotografia
usu_apellido
usu_nombre
usu_mail
usu_telefono
usu_celular
usu_estado
usu_fecha_creacion
usu_usuario_creacion
INT2
VARCHAR(10)
VARCHAR(250)
INT2
bytea
VARCHAR(50)
VARCHAR(50)
VARCHAR(50)
VARCHAR(9)
VARCHAR(10)
VARCHAR(1)
TIMESTAMP
VARCHAR(10)
<pk>
<fk>
EMPRESA
emp_id
emp_nombre_largo
emp_nombre_corto
emp_direccion
emp_ruc
emp_representante_legal
emp_fecha_registro
emp_fecha_retiro
INT2
VARCHAR(100)
VARCHAR(50)
VARCHAR(100)
VARCHAR(13)
VARCHAR(100)
DATE
DATE
<pk>
HACIENDA
hac_id
fk_emp_id
hac_nombre
hac_direccion
hac_telefono
hac_celular
hac_gerente
hac_fecha_registro
hac_fecha_retiro
INT2
INT2
VARCHAR(100)
VARCHAR(100)
VARCHAR(9)
VARCHAR(10)
<Undefined>
DATE
DATE
<pk>
<fk>
ESTABLO
etb_id
fk_hac_id
etb_nombre
etb_encargado
etb_capacidad
INT2
INT2
VARCHAR(100)
VARCHAR(100)
INT2
<pk>
<fk>
BOVINO
bov_id
fk_col_id
fk_tip_nac_id
fk_est_id
fk_raz_id
fk_gen_id
fk_eta_vid_id
fk_tip_par_id
fk_etb_id
fk_tip_man_id
fk_padre_bov_id
fk_madre_bov_id
bov_rp
hbe
bov_fecha_nacimiento
INT8
INT2
INT2
INT2
INT2
INT2
INT2
INT2
INT2
INT2
INT8
INT8
INT8
NUMERIC(7)
DATE
<pk>
<fk1>
<fk2>
<fk3>
<fk4>
<fk5>
<fk6>
<fk7>
<fk8>
<fk9>
<fk10>
<fk11>
RAZA
raz_id
fk_cat_id
raz_nombre
raz_descripcion
INT2
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
<fk>
COLOR
col_id
col_nombre
col_descripcion
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
TIPO_NACIMIENTO
tip_nac_id
tip_nac_nombre
tip_nac_descripcion
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
ETAPA_VIDA
eta_vid_id
eta_vid_nombre
eta_vid_descripcion
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
ESTADO
est_id
est_nombre
est_descripcion
INT2
VARCHAR(100)
VARCHAR(200)
<pk>TIPO_MEDICION
tip_med_id
fk_gru_tip_med_id
tip_med_nombre
tip_med_descripcion
INT2
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
<fk>
GENERO
gen_id
gen_codigo
gen_nombre
gen_descripcion
INT2
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
CATEGORIA
cat_id
cat_nombre
cat_descripcion
INT2
VARCHAR(100)
VARCHAR(100)
<pk>
MOVIMIENTO_BOVINO
mov_bov_id
fk_bov_id
mov_bov_fecha
mov_bov_descripcion
mov_bov_fecha_trasferencia
mov_bov_hacienda_destino
mov_bov_responsable
mov_bov_establo_origen
mov_bov_establo_destino
NUMERIC
INT8
DATE
VARCHAR(200)
DATE
VARCHAR(200)
VARCHAR(200)
VARCHAR(200)
VARCHAR(200)
<pk>
<fk>
TIPO_PARENTESCO
tip_par_id
tip_par_nombre
tip_par_descripcion
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
PARIENTE
par_id
fk_col_id
fk_raz_id
fk_tip_prt_id
bov_id
par_rp
par_hbe
par_fecha_nacimiento
NUMERIC
INT2
INT2
INT2
INT8
INT8
NUMERIC(7)
DATE
<pk>
<fk1>
<fk2>
<fk3>
<fk4>
TIPO_PARIENTE
tip_prt_id
tip_prt_nombre
tip_prt_descripcion
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
PESO
pes_id
fk_tip_med_id
fk_bov_id
pes_valor
peso_fecha_registro
peso_descripcion
NUMERIC
INT2
INT8
NUMERIC(7,2)
DATE
VARCHAR(200)
<pk>
<fk1>
<fk2>
ALTURA
alt_id
fk_tip_med_id
fk_bov_id
alt_valor
alt_fecha_registro
alt_descripcion
NUMERIC
INT2
INT8
NUMERIC(7,2)
DATE
VARCHAR(200)
<pk>
<fk1>
<fk2>
TIPO_PREPUCIO
tip_pre_id
tip_pre_nombre
tip_pre_descripcion
INT2
VARCHAR(100)
VARCHAR(100)
<pk>
ESCROTAL
esc_id
fk_tip_med_id
fk_bov_id
esc_valor
esc_fecha_registro
esc_descripcion
NUMERIC
INT2
INT8
NUMERIC(7,2)
DATE
VARCHAR(200)
<pk>
<fk1>
<fk2>
GRUPO_TIPO_MEDICION
gru_tip_med_id
gru_tip_med_nombre
gru_tip_med_descripcion
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
PREPUCIO
prp_id
fk_tip_med_id
fk_tip_pre_id
fk_bov_id
prp_fecha_registro
NUMERIC
INT2
INT2
INT8
DATE
<pk>
<fk1>
<fk2>
<fk3>
TIPO_MANEJO
tip_man_id
tip_man_codigo
tip_man_nombre
tip_man_descripcion
INT2
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
ECOGRAFIA
eco_id
fk_pel_id
fk_bov_id
eco_fecha
eco_imagenes_aob
eco_imagenes_egc
eco_imagenes_gi
INT2
INT2
INT8
DATE
INT2
INT2
INT2
<pk>
<fk1>
<fk2>
PELADO
pel_id
pel_nombre
pel_descripcion
INT2
VARCHAR(100)
VARCHAR(200)
<pk>
CONFIGURACION
con_id
con_nombre
con_descripcion
con_valor_texto
con_valor_numero
con_valor_decimal
con_valor_fecha
con_valor_hora
con_valor_margen_error
INT2
VARCHAR(100)
VARCHAR(100)
VARCHAR(100)
INT2
NUMERIC(7,2)
DATE
TIME
NUMERIC(7,2)
<pk>
56
3.8 Fase de Codificación.
A la hora de codificar una historia de usuario su aspecto es aún más necesaria, el cliente
es una parte más del equipo de desarrollo. Hay que tomar en cuenta que los clientes son
los que crean las historias de usuario y negocian los tiempos en los que serán
implementadas. Antes del desarrollo de cada historia de usuario el cliente debe detallar
lo que éste hará y también tendrá que estar presente cuando se realicen los test que
ratifiquen que la historia realizada cumple la funcionalidad especificada. En esta fase de
la codificación los clientes y los desarrolladores del proyecto deben estar en
comunicación para que los desarrolladores puedan codificar todo los necesario para el
proyecto que se requiere, en esta fase está incluido todo lo de codificación o programación
por parte de los desarrolladores del proyecto.
En esta etapa se detalla el desarrollo del sistema después de la fase de diseño.
3.8.1 Estructura del Diseño Gráfico del Sistema.
Para el diseño de la estructura del proyecto, se hace uso de una plantilla web que permite
desarrollar el sitio web de una forma mucho más fácil y rápida que los diseños a medida.
Facelets es un sistema de código abierto de plantillas web bajo licencia Apache que es
compatible con todos los componentes de JSF.
Tabla 3-18. Estructura General del Sistema.
Cabecera
Menú
Contenido
Pie de Página
Fuente: Lascano N. año 2016.
Cabecera: contiene información relacionada al nombre de institución, nombre del
sistema, y el usuario que se encuentra logueado.
Menú: contiene el menú con todas las opciones a las que tiene acceso el usuario.
57
Contenido: es la parte más importante de la página, en donde mostraremos el contenido
del sitio, registros de información, imágenes, etc.
Pie de Página: contiene información del contacto del autor.
A continuación se muestra el código y la plantilla web utilizada en todos los módulos del
sistema.
Figura 3-24. Código Plantilla Estructura General del Sistema.
Fuente: Lascano N. año 2016.
58
Figura 3-25. Plantilla Web del Sistema.
Fuente: Lascano N. año 2016.
3.8.2 Separación de Componentes del patrón MVC.
Como se ha mencionado anteriormente el presente trabajo se desarrollara bajo la
arquitectura JEE 7, utilizando patrones de diseño como el MVC, FACADE; así como
también algunas Frameworks de desarrollo que facilitan la tarea del programador,
permitiéndole únicamente que se centre en la lógica del negocio, dejando de una lado
temas como el diseño de páginas, gestión de transacciones con la base de datos,
concurrencia de usuarios a la aplicación entre otras cosas.
Base de Datos.
Para el desarrollo de ejemplo partiremos de una tabla creada en el motor de base de
datos, el nombre de la tabla es: CONFIGURACION, en la cual se almacenara datos
relevantes de las configuraciones del sistema que servirán para la configuración del
sistema, como por ejemplo el tiempo de destetar a la cría.
Figura 3-26. Diseño de Entidad CONFIGURACIÓN.
Fuente: Lascano N. año 2016.
CONFIGURACION
con_id
con_nombre
con_descripcion
con_valor_texto
con_valor_numero
con_valor_decimal
con_valor_fecha
con_valor_hora
con_valor_margen_error
INT2
VARCHAR(100)
VARCHAR(100)
VARCHAR(100)
INT2
NUMERIC(7,2)
DATE
TIME
NUMERIC(7,2)
<pk>
59
Plain Old Java Object.
Tras la creación de la tabla en el motor de base de datos, generamos la clase java que
representará a dicha tabla en nuestro proyecto, esta clase también es cocida como POJO;
todo esto con la utilización de un ORM (Object relational mapping), el cual permite
generar un clase java a partir de una tabla en el motor de la base de datos. Un punto a
tomar en cuenta es el nombre de la clase y sus propiedades, ya que el ORM que se está
utilizando en el presente trabajo lo hace bajo la notación camel mayúscula, sustituyendo
el carácter “_” por un carácter vacío cuando sea necesario.
A continuación se presenta la clase generada con EclipseLink.
package ec.edu.uce.sicogan.core.modelo;
@Entity
@Table(name = "configuracion")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Configuracion.findAll", query = "SELECT c FROM Configuracion
c"),
@NamedQuery(name = "Configuracion.findByConId", query = "SELECT c FROM
Configuracion c WHERE c.conId = :conId"),
@NamedQuery(name = "Configuracion.findByConNombre", query = "SELECT c FROM
Configuracion c WHERE c.conNombre = :conNombre"),
@NamedQuery(name = "Configuracion.findByConDescripcion", query = "SELECT c FROM
Configuracion c WHERE c.conDescripcion = :conDescripcion"),
@NamedQuery(name = "Configuracion.findByConValorTexto", query = "SELECT c FROM
Configuracion c WHERE c.conValorTexto = :conValorTexto"),
@NamedQuery(name = "Configuracion.findByConValorNumero", query = "SELECT c
FROM Configuracion c WHERE c.conValorNumero = :conValorNumero"),
@NamedQuery(name = "Configuracion.findByConValorDecimal", query = "SELECT c
FROM Configuracion c WHERE c.conValorDecimal = :conValorDecimal"),
@NamedQuery(name = "Configuracion.findByConValorFecha", query = "SELECT c FROM
Configuracion c WHERE c.conValorFecha = :conValorFecha"),
@NamedQuery(name = "Configuracion.findByConValorHora", query = "SELECT c FROM
Configuracion c WHERE c.conValorHora = :conValorHora"),
@NamedQuery(name = "Configuracion.findByConValorMargenError", query = "SELECT c
FROM Configuracion c WHERE c.conValorMargenError = :conValorMargenError")})
public class Configuracion implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name = "seq_con_id", sequenceName = "seq_con_id",
allocationSize = 1, initialValue = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_con_id")
@Basic(optional = false)
@NotNull
@Column(name = "con_id")
private Integer conId;
@Basic(optional = false)
60
@NotNull
@Size(min = 1, max = 100)
@Column(name = "con_nombre")
private String conNombre;
@Size(max = 100)
@Column(name = "con_descripcion")
private String conDescripcion;
@Size(max = 100)
@Column(name = "con_valor_texto")
private String conValorTexto;
@Column(name = "con_valor_numero")
private Short conValorNumero;
// @Max(value=?) @Min(value=?)//if you know range of your decimal fields consider using
these annotations to enforce field validation
@Column(name = "con_valor_decimal")
private BigDecimal conValorDecimal;
@Column(name = "con_valor_fecha")
@Temporal(TemporalType.DATE)
private Date conValorFecha;
@Column(name = "con_valor_hora")
@Temporal(TemporalType.TIME)
private Date conValorHora;
@Column(name = "con_valor_margen_error")
private BigDecimal conValorMargenError;
public Configuracion() {
}
public Configuracion(Integer conId) {
this.conId = conId;
}
public Configuracion(Integer conId, String conNombre) {
this.conId = conId;
this.conNombre = conNombre;
}
public Integer getConId() {
return conId;
}
public void setConId(Integer conId) {
this.conId = conId;
}
public String getConNombre() {
return conNombre;
}
public void setConNombre(String conNombre) {
this.conNombre = conNombre;
}
61
public String getConDescripcion() {
return conDescripcion;
}
public void setConDescripcion(String conDescripcion) {
this.conDescripcion = conDescripcion;
}
public String getConValorTexto() {
return conValorTexto;
}
public void setConValorTexto(String conValorTexto) {
this.conValorTexto = conValorTexto;
}
public Short getConValorNumero() {
return conValorNumero;
}
public void setConValorNumero(Short conValorNumero) {
this.conValorNumero = conValorNumero;
}
public BigDecimal getConValorDecimal() {
return conValorDecimal;
}
public void setConValorDecimal(BigDecimal conValorDecimal) {
this.conValorDecimal = conValorDecimal;
}
public Date getConValorFecha() {
return conValorFecha;
}
public void setConValorFecha(Date conValorFecha) {
this.conValorFecha = conValorFecha;
}
public Date getConValorHora() {
return conValorHora;
}
public void setConValorHora(Date conValorHora) {
this.conValorHora = conValorHora;
}
public BigDecimal getConValorMargenError() {
return conValorMargenError;
}
public void setConValorMargenError(BigDecimal conValorMargenError) {
62
this.conValorMargenError = conValorMargenError;
}
@Override
public int hashCode() {
int hash = 0;
hash += (conId != null ? conId.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Configuracion)) {
return false;
}
Configuracion other = (Configuracion) object;
if ((this.conId == null && other.conId != null) || (this.conId != null &&
!this.conId.equals(other.conId))) {
return false;
}
return true;
}
@Override
public String toString() {
return "ec.edu.uce.sicogan.core.modelo.Configuracion[ conId=" + conId + " ]";
}
}
Interfaz – FACADE.
Una vez obtenida la representación de la tabla en clase java, se procede a la creación de
la interfaz para el EJB, esto bajo la utilización del patrón Facade, permitiendo así que el
cliente únicamente pueda observar la firma del método al cual se invocara en la página
jsf y mas no a como esta implementado el método en el EJB.
A continuación se presenta la interfaz creada para la administración de la clase java.
package ec.edu.uce.sicogan.core.ejb;
@Local
public interface ConfiguracionFacadeLocal extends AbstractFacadeLocal<Configuracion> {
List<Configuracion> findAll() throws EntidadException;
}
63
EJB.
Una vez definida la interfaz, se procede a su implementación dentro del EJB, el cual
tendrá la característica de ser de ser un EJB de sesión que no conserva el estado
“stateless”. Es necesario aclarar que las consultas a la base de datos se las realiza
utilizando JPA invocando a la NamedQueries definidos en POJO.
package ec.edu.uce.sicogan.core.ejb.impl;
import ec.edu.uce.sicogan.core.ejb.ConfiguracionFacadeLocal;
import ec.edu.uce.sicogan.core.modelo.Configuracion;
import ec.edu.uce.sicogan.core.utilitario.generico.impl.AbstractFacade;
import javax.ejb.Stateless;
@Stateless
public class ConfiguracionFacade extends AbstractFacade<Configuracion> implements
ConfiguracionFacadeLocal {
@Override
public List<Configuracion> findAll() throws EntidadException{
return this.findByNamedQueryResultList("Configuracion.findAll");
}
}
Backin Bean.
Cuando se haya realizado la creación del EJB, se procede a la creación de los Backin
Beans, los cuales controlaran la lógica de la interfaz gráfica, es decir validaciones en los
controles como calendarios, cajas de texto, listas desplegables, entre otros.
package ec.edu.uce.sicogan.vista;
import ec.edu.uce.sicogan.core.modelo.Configuracion;
import ec.edu.uce.sicogan.vista.util.JsfUtil;
import ec.edu.uce.sicogan.vista.util.JsfUtil.PersistAction;
import ec.edu.uce.sicogan.core.ejb.ConfiguracionFacadeLocal;
import ec.edu.uce.sicogan.excepciones.EntidadException;
64
import java.io.Serializable;
import java.util.List;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.ejb.EJBException;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.faces.model.SelectItem;
import org.primefaces.context.RequestContext;
@ManagedBean(name = "configuracionController")
@ViewScoped
public class ConfiguracionController implements Serializable {
@EJB
private ec.edu.uce.sicogan.core.ejb.ConfiguracionFacadeLocal ejbFacade;
private List<Configuracion> items = null;
private Configuracion selected;
public ConfiguracionController() {
}
public Configuracion getSelected() {
return selected;
}
public void setSelected(Configuracion selected) {
this.selected = selected;
}
65
protected void setEmbeddableKeys() {
}
protected void initializeEmbeddableKey() {
}
private ConfiguracionFacadeLocal getFacade() {
return ejbFacade;
}
public Configuracion prepareCreate() {
selected = new Configuracion();
initializeEmbeddableKey();
return selected;
}
public void create() {
persist(PersistAction.CREATE,
ResourceBundle.getBundle("/Bundle").getString("ConfiguracionCreated"));
RequestContext.getCurrentInstance().execute("PF('ConfiguracionCreateDialog').hide()");
if (!JsfUtil.isValidationFailed()) {
items = null; // Invalidate list of items to trigger re-query.
}
}
public void update() {
persist(PersistAction.UPDATE,
ResourceBundle.getBundle("/Bundle").getString("ConfiguracionUpdated"));
RequestContext.getCurrentInstance().execute("PF('ConfiguracionEditDialog').hide()");
}
public void destroy() {
persist(PersistAction.DELETE,
ResourceBundle.getBundle("/Bundle").getString("ConfiguracionDeleted"));
if (!JsfUtil.isValidationFailed()) {
selected = null; // Remove selection
66
items = null; // Invalidate list of items to trigger re-query.
}
}
public List<Configuracion> getItems() {
try {
if (items == null) {
items = getFacade().findAll();
}
return items;
} catch (EntidadException ee) {
return null;
}
}
private void persist(PersistAction persistAction, String successMessage) {
if (selected != null) {
setEmbeddableKeys();
try {
if (persistAction != PersistAction.DELETE) {
getFacade().edit(selected);
} else {
getFacade().remove(selected);
}
JsfUtil.addSuccessMessage(successMessage);
} catch (EJBException ex) {
String msg = "";
Throwable cause = ex.getCause();
if (cause != null) {
msg = cause.getLocalizedMessage();
}
if (msg.length() > 0) {
JsfUtil.addErrorMessage(msg);
} else {
JsfUtil.addErrorMessage(ex,
67
ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
}
} catch (Exception ex) {
Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);
JsfUtil.addErrorMessage(ex,
ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
}
}
}
public SelectItem[] getItemsAvailableSelectMany() {
try {
return JsfUtil.getSelectItems(ejbFacade.findAll(), false);
} catch (EntidadException ee) {
return null;
}
}
public SelectItem[] getItemsAvailableSelectOne() {
try {
return JsfUtil.getSelectItems(ejbFacade.findAll(), true);
} catch (EntidadException ee) {
return null;
}
}
@FacesConverter(forClass = Configuracion.class)
public static class ConfiguracionControllerConverter implements Converter {
@Override
public Object getAsObject(FacesContext facesContext, UIComponent component, String
value) {
try {
if (value == null || value.length() == 0) {
return null;
}
68
ConfiguracionController controller = (ConfiguracionController)
facesContext.getApplication().getELResolver().
getValue(facesContext.getELContext(), null, "configuracionController");
return controller.getFacade().find(getKey(value));
} catch (EntidadException ee) {
return null;
}
}
java.lang.Integer getKey(String value) {
java.lang.Integer key;
key = Integer.valueOf(value);
return key;
}
String getStringKey(java.lang.Integer value) {
StringBuilder sb = new StringBuilder();
sb.append(value);
return sb.toString();
}
@Override
public String getAsString(FacesContext facesContext, UIComponent component, Object
object) {
if (object == null) {
return null;
}
if (object instanceof Configuracion) {
Configuracion o = (Configuracion) object;
return getStringKey(o.getConId());
} else {
Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, "object {0} is of
type {1}; expected type: {2}", new Object[]{object, object.getClass().getName(),
Configuracion.class.getName()});
return null;
69
}
}
}
}
Interfaz de usuario.
A continuación se presenta las interfaces de usuario que gestionaran la lógica la parte de
listado, creación y edición de las variables del sistema que se está desarrollando en el
presenten trabajo.
Figura 3-27.Interfaz de Usuario para el Listado de variables del Sistema SICOGAN.
Fuente: Lascano N. año 2016.
Figura 3-28.Interfaz de Usuario para la Creación de una Nueva Variable del
Sistema.
Fuente: Lascano N. año 2016.
70
3.9 Fase de Pruebas.
Se refiere a las pruebas y a la aceptación de las mismas para proceder a la implementación
del sistema. El ANEXO E contiene la certificación de las pruebas efectuadas.
Es uno de los apoyos de la metodología XP es el uso de test para evidenciar el
funcionamiento de los códigos que se estén implementando.
El uso de los test en X.P es el siguiente:
Se deben establecer las aplicaciones que realizarán los test con un ambiente
de desarrollo específico para test.
Hay que someter a test las distintas clases del sistema excluyendo los métodos
más triviales.
Se deben implementar los test que pasarán los códigos antes de
implementación.
Para esto se implementó las pruebas.
Caja blanca.
Caja negra.
3.9.1 Ejemplo de un Caso de Prueba.
Se realizó, previo a obtener el certificado de conformidad de las pruebas efectuadas en la
Fundación a Favor de la Vida.
Caso de Prueba Gestionar Seguridad.
Caso de Prueba Ingreso al Sistema. P1-1.
Tabla 3-19. Prueba 1. Ingreso al Sistema.
Caso de uso: Ingreso al sistema P1-1.
Fecha: 05-04-2016
Autores: Súper Administrador, Administrador, Secretaria, Capataz.
Descripción:
Admite ingresar al sistema, con la respectiva autentificación de nombre de usuario y
contraseña.
71
Precondiciones:
Ingresar correctamente a la dirección del sistema (URL).
Tiene que estar registrado el usuario en el sistema.
Tiene que autentificarse correctamente.
Flujo Normal:
El usuario ingresa a la dirección (URL) de la página web.
El usuario debe ingresar el username y el password que le corresponde.
El sistema adquiere la información del rol y muestra solo las opciones que
puede realizar el usuario en el sistema.
Pos condiciones:
Si el username y password introducidos son correctos y únicos, el usuario
ingresa a la página de index del sistema.
Si el username o el password son incorrectos, el sistema muestra un mensaje
en el que afirma que el usuario no existe.
Escenarios de prueba
Respuesta esperada de la aplicación Coincide
(Si/No) Campo/
Opción Valor
Tipo
escenario
Usuario
Clave
1803904539
1803904531
Correcto
Correcto
El sistema debe dar la bienvenida al
sistema Informático SICOGAN, la
pantalla de administración cargado el menú
según el rol registrado en el perfil del
sistema.
SI
Usuario
Clave
1803904539
1803904531
Correcto
Incorrecto
En este caso el sistema de validación de
usuario y clave mostrara un mensaje
indicando que el usuario y la clave son
incorrectas, que tiene que volver a ingresar
las credenciales
SI
Fuente: Lascano N. año 2016.
Figura 3-29. Login de Usuario Correcto.
Fuente: Lascano N. año 2016.
72
Figura 3-30. Login de Usuario Incorrecto.
Fuente: Lascano N. año 2016.
Figura 3-31. Ingreso al Sistema.
Fuente: Lascano N. año 2016.
73
4 IMPLEMENTACIÓN DEL SISTEMA
4.1 Matriz certificada de herramientas.
EL SISTEMA DE CONTROL VETERINARIO DE REGISTROS DE BOVINOS
ENFOCADOS EN LA DIFERENCIA ESPERADA ENTRE PROGENIES (DEPS)
PARA LA FUNDACIÓN A FAVOR DE LA VIDA “SICOGAN” está probado y
soportado bajo herramientas de sistema operativo, máquina virtual java, base de datos y
sus driver´s de conexión, servidor de aplicaciones y su compatibilidad con el sistema
operativo, base de datos y compatibilidad con la máquina virtual java. ANEXO F
Certificado de la Implementación del Sistema.
Configuraciones permitidas
Tiene como objetivo estar en ejecución en una configuración compatible, SICOGAN
debe ser ejecutado en las implementaciones certificadas de Kit`s de Tecnología
Compatible y en uno de los sistemas operativos compatibles que tengan con la aplicación.
Tabla 4-1.Versiones permitidas de JDK para el Sistema SICOGAN.
Máquina Virtual Java Versión
Oracle JDK 1.7
1.8
Fuente: Lascano N. año 2016.
A continuación se puede presentar la lista de pruebas de plataforma de sistema operativo
bajo estas configuraciones:
74
Tabla 4-2.Versiones permitidas de Sistema Operativo para el sistema SICOGAN.
Sistema Operativo Chipset
Architecture
Máquina Virtual
Java
Linux CentOS 6.5 x86 Oracle JDK 1.7.x
x86_64 Oracle JDK 1.8.x
Linux CentOS 5 x86 Oracle JDK 1.7.x
x86_64 Oracle JDK 1.8.x
Microsoft Windows 2008 Server x86 Oracle JDK 1.7.x
x86_64 Oracle JDK 1.8.x
Microsoft Windows 2008 Server R2 x86_64 Oracle JDK 1.7.x
Oracle JDK 1.8.x
Fuente: Lascano N. año 2016.
Unificaciones Probadas.
Son un conjunto definido de unificaciones de tecnologías probadas concretamente, las
cuales representan las combinaciones más frecuentes que los usuarios del sistema
manipulan. Para lo cual se ofrece una lista completa de pruebas de plataforma para el
lanzamiento del producto.
A continuación se lista la siguiente base de datos y sus drivers de conexión que se
pusieron a prueba en el ambiente de la última versión de SICOGAN.
Tabla 4-3.Versiones probadas, Motor de Base de Datos, sistema SICOGAN.
Base de Datos Versión JDBC Driver
PostgreSQL 9.2 JDBC4 Postgresql Driver, Versión 9.0-801
9.3 JDBC41 Postgresql Driver, Versión 9.3-1101
Fuente: Lascano N. año 2016.
Se puede exponer que el servidor de aplicaciones y conectores se pusieron a prueba en
el ambiente de la última versión de SICOGAN.
75
Tabla 4-4.Versiones probadas, Servidor de Aplicaciones, sistema SICOGAN.
Servidor de
Aplicaciones Versión Item
Versión Item
Glassfish 4.1
Sistema Operativo
Linux CentOS 6.5
Linux CentOS 5
Microsoft Windows 2008 Server
Microsoft Windows 2008 Server
R2
Java SE Oracle JDK 1.7.x
Oracle JDK 1.8.x
Java Persistence
Implementation Eclipselink 2.0
Base de Datos y Driver
PostgreSQL
9.2 (JDBC4 Postgresql Driver,
Versión 9.0-801)
9.3 (JDBC41 Postgresql Driver,
Versión 9.3-1101)
Fuente: Lascano N. año 2016.
4.2 Requerimientos Hardware y Software.
A continuación se presentan los requerimientos recomendados de hardware para un
funcionamiento estable del SISTEMA DE CONTROL VETERINARIO DE
REGISTROS DE BOVINOS ENFOCADOS EN LA DIFERENCIA ESPERADA
ENTRE PROGENIES (DEPS) PARA LA FUNDACIÓN A FAVOR DE LA VIDA
“SICOGAN”.
76
Tabla 4-5. Requerimientos de hardware y software recomendados.
HARDWARE CARACTERÍSTICA
Procesador 2 GHz
Memoria RAM 4 GB
Disco Duro 40 GB
Unidad de DVD-ROM 1
Pantalla y periféricos •SuperVGA
•Teclado
• Mouse
Fuente: Lascano N. año 2016.
4.3 Requerimientos funcionales para ambiente de trabajo.
Figura 4-1. Requerimientos Funcionales para el Ambiente de Trabajo.
Fuente: Lascano N. año 2016.
4.4 Etapas de la instalación.
El proceso de instalación se realizó en dos etapas.
La primera etapa se considera a la implementación y configuración de herramientas de
software necesarias para la puesta en producción del sistema de Control Veterinario de
Registros de Bovinos enfocados en la diferencia esperada entre progenies (DEPS) para la
Fundación a Favor de la Vida.
Lista de herramientas:
Windows Server 2008 R2.
IDE Netbeans 8.0.2
Versiones Inferiores
• Genera Conflictos
• Genera Conflictos
• Genera Conflictos
• Genera Conflictos
• Genera Conflictos
Versión Estable
• Netbeans 8.0.2
• PostgreSQL 9.3.2.1
• Ireport 5.2
• JDK 1.8.0_51
• Glassfish 4.1
Versiones Superiores
• Satisfactorio
• Satisfactorio
• Satisfactorio
• Genera Conflictos
• Genera Conflictos
77
PosgreSQL 9.3.2.1
Glasfish 4.1
iReport 5.1
JDK 1.8.0_51
En la segunda etapa se realizó el despliegue de las aplicaciones y pruebas de
funcionalidad las cuales se realizaron en base un cronograma de pruebas, durante esta
etapa fue importante la participación del usuario funcional.
78
5 CONCLUSIONES Y RECOMENDACIONES
5.1 Conclusiones.
Una vez finalizado el desarrollo de un sistema de control veterinario de registros de
bovinos enfocados en la diferencia esperada entre progenies (DEPS) para la fundación a
favor de la vida se han derivado las siguientes conclusiones.
Se desarrolló un sistema informático bajo los estándares de aplicaciones
empresariales JEE, el cual brinda información, concisa, concreta, adecuada y en
tiempo real del registro de bovinos enfocados en la diferencia esperada entre
progenies; todo esto cumpliendo con los requerimientos tecnológicos y
organizacionales para el desarrollo de los procesos que automatiza el sistema.
El uso de la metodología XP facilitó el desarrollo del sistema, puesto que indica
las reglas necesarias para el cumplimiento del proyecto; así como también
implantó los lineamientos y definiciones de un perfil UML que en definitiva
suministra elementos necesarios para el modelado de los diferentes aspectos de
una aplicación.
Se utilizó herramientas de desarrollo con tecnologías de vanguardia, para mayor
eficiencia y eficacia al momento del desarrollo del sistema.
Los usuarios de aplicaciones basadas en la Web, requieren obtener respuestas
rápidas y precisas a sus requerimientos; por lo que se desarrolló el sistema con
herramientas que faciliten y mejoren el rendimiento de la aplicación para
respuesta de peticiones simultaneas. Se ratificó los conocimientos sobre el uso y
manejo de herramientas para el desarrollo de aplicaciones con arquitectura
empresarial.
Con el desarrollo del sistema se mejoró los procesos de control veterinario de
registros de bovinos enfocados en la diferencia esperada entre progenie (DEPS),
para la Fundación a Favor de la Vida.
Tras la utilización del sistema implementado, los usuarios lograron incrementar
su confianza en la Fundación en lo que respecta a la gestión de los procesos de
control veterinario.
79
5.2 Recomendaciones
Tras el desarrollo del proyecto, existen varias recomendaciones a seguir a cerca de la
experiencia adquirida en el miso.
Hacer uso de los procedimientos de Ingeniería de desarrollo, metodologías y
buenas prácticas, con la finalidad de mantener la organización y seguimiento del
proyecto al momento de incrementar funcionalidades o módulos del mismo,
realizar toda la documentación pertinente que conlleva la metodología de
desarrollo de Ingeniería de Software.
Realizar los procesos de testing y control de calidad del software, ya que esto
ayuda a la corrección oportuna de posibles errores que posee el sistema antes de
ponerlo en producción.
Continuar con el desarrollo de los módulos del sistema que mejoraran los procesos
de control veterinario, puesto algunas funcionalidades que intervienen en los
procesos de obtención de la diferencia esperada entre progenies no se
implementaron en el desarrollo del mismo. Este módulo debería ser el primero en
desarrollarse ya que va de la mano con la gestión de control veterinario.
La información es lo más importante, proteger los datos contra la pérdida, el
deterioro, las catástrofes (naturales u obras) y demás problemas es una de las
máximas prioridades de las empresas, para evitar este tipo de inconvenientes es
necesario que tracen un plan de respaldo de información de forma periódica, será
una de las tareas más importantes que deberán tomar en cuenta como usuario
responsable.
80
6. Bibliografía
1. BAHIT, E. (s.f.). El paradigma de la Programación Orientada a Objetos en PHP
y el patrón de arquitectura de Software MVC. Obtenido de
MONOGRAFIAS.COM: http://www.monografias.com/trabajos89/poo-y-mvc-
php/poo-y-mvc-php2.shtml
2. Balladares, S. (2015). ITAP RURAL. Obtenido de Conócenos:
http://www.itaprural.com
3. Bavera, G. (2011). Definiciones de vocablos usuales en ganadería en Argentina.
Obtenido de Diccionario de término laneros: http://www.produccion-
animal.com.ar/informacion_tecnica/a_curso_produccion_bovina_de_carne/07A-
02-Capitulo-II-Vocablos.pdf
4. Bavera, G. A. (2008). DESTETE DEFINITIVO; EFECTOS. Obtenido de Sitio
Argentino de Producción Animal:
http://www.produccionbovina.com/informacion_tecnica/destete/37-
destete_definitivo_efectos.pdf
5. BELL, D., & PARR, M. (2003). JAVA PARA ESTUDIANTES. MEXICO:
PEARSON EDUCATION.
6. CABALLEROS, S. (22 de 02 de 2014). MAKE THE FUTURE JAVA. Obtenido
de INTRODUCCION JAVA EE7: http://es.slideshare.net/vacax/introduccin-a-
java-ee-7-31747180
7. Calendamaia. (01 de 09 de 2014). NetBeans. Obtenido de Genbeta Dev:
http://www.genbetadev.com/herramientas/netbeans-1
8. Calvopiña, P. J. (03 de 04 de 2012). Lcdo. Johnn Calvopiña Ponce . Obtenido de
Programmer, Docente del Colegio Fiscal Técnico "Primero de Junio" Tenguel -
Guayas - Ecuador: http://johnnjc.blogspot.com/2012/04/sistema-informatico-
81
material-para-1ro.html
9. EcuRed. (04 de 05 de 2016). GlassFish. Obtenido de EcuRed:
http://www.ecured.cu/GlassFish
10. Fernández, G. J. (s.f.). Introducción a las metodologías ágiles. Obtenido de
Universitat Oberta de Catalunya :
https://www.exabyteinformatica.com/uoc/Informatica/Tecnicas_avanzadas_de_i
ngenieria_de_software/Tecnicas_avanzadas_de_ingenieria_de_software_%28M
odulo_3%29.pdf
11. FORO ARGENTINO DE GENETICA BOVINA. (2010). GPS Guía de
Procedimientos sugeridos. Obtenido de
http://www.forodegeneticabovina.com/read-article.php?articleId=32
12. FUENTES, G. (24 de 05 de 2014). WINDOWS SERVER 2008. Obtenido de
Transcripción de WINDOWS SERVER 2008.:
https://prezi.com/gzcch8k8_ek5/windows-server-2008/
13. GRANADOS, D. (21 de 10 de 2009). MANEJO DE SESIONES Y COOKIES.
Obtenido de Desarrollo de Aplicaciones Web II - Sesión 08: Sesiones y Cookies
: http://es.slideshare.net/difagram/desarrollo-de-aplicaciones-web-ii-sesin-08-
sesiones-y-cookies
14. JaspertSoft Community. (01 de 01 de 2016). JasperReports® Library. Obtenido
de JaspertSoft Community:
http://community.jaspersoft.com/project/jasperreports-library
15. Java Server Faces. (2009). En B. HARWANI, Java Server Faces (pág. 212). PHI
Learning Private Limited.
16. kinfantas. (25 de 02 de 2016). PostgreSQL. Obtenido de DBbyexample:
82
https://dbbyexample.wikispaces.com/Postgress
17. Oracle Corporation. (01 de 01 de 2015). ¿Qué es la tecnología Java y para qué la
necesito? . Obtenido de Oracle:
https://www.java.com/es/download/faq/whatis_java.xml
18. Struts 2. (2010). En J. LAFOSSE, Struts 2 (pág. 463). Barcelona: Ediciones ENI.
Obtenido de El Framework de desarrollo de aplicaciones JAVA EE.
19. Washinton, S. G. (01 de 01 de 2013). Desarrollo e implementación de un sistema
de información para el programa Bolsa de Empleos para Estudiantes, Egresados
y Graduados de la Universidad Central del Ecuador. Obtenido de Repositorio
Digital: http://www.dspace.uce.edu.ec/handle/25000/1936
85
ANEXO B
Información de planillas de distintas razas de bovinos
Establecim
iento.................................................................N
º criador..........................
Propietario.........................................................................
0011
02/01/2016Rz
N1
30054
RzC
08/05/2013SN
1043
RzC
2004065
AA
[1] SEX
O[2] R
z / Va RAZA o VAR
IED
AD
SeleccionarSeleccionar
1. Macho.
Rz. Raza Pura
2. Hem
bra.1/2. C
ruza 1/2
3. Mellizos m
achos.1/4. C
ruza 1/4
4. Mellizo con hem
bra.3/4. C
ruza 3/4
5. Mellizas hem
bras.3/8. C
ruza 3/8
6. Melliza con m
acho.5/8. C
ruza 5/8
[3] C (color)
[4] CM
(Código de m
uerto)
Seleccionar
1. Nacido m
uerto.
2. Dentro de las 36 horas de nacido.
[5] PN:
[6] Fecha Nac. de la M
adre:
Peso al nacer.A. C
onsignar la fecha de nacimiento de la m
adre
o el mes y el año de nacim
iento, o al menos
el año de nacimiento de la m
isma.
[7] TS (Tipo de servicio)[8] TP (Tipo de parto)
3. Entre 36 horas y 30 días.
SeleccionarSeleccionar
4. Entre 30 días y destete.
SN. Servicio natural.
1. Norm
al.
IA. Inseminación artificial.
2. Ayuda manual.
TE. Transferencia embrionaria.
3. Ayuda mecánica.
4. Cesárea.
B. En caso de desconocer la informacion requerida en (A),
5. Aborto. declarar si es: vaquillona (vq)
vaca madura (vm
)
[9] Rz / Va R
aza o Variedad[10] M
1 (Manejo)
vaca vieja (vv)
SeleccionarSeleccionar
AA. Aberdeen Angus.Asignar el m
ismo núm
ero a los animales que recibieron igual m
anejo nutricional hasta el destete.
BH. Brahm
an.
BG. Brangus.
CB. C
ruza Británica.
CI. C
ruza Indica.
RAZAS IN
DIC
AS Y DER
IVADO
S
Color
C [3]
Codigo de M
uerto M
[4]
Peso al Nacer
PN [5]
RE
CE
PTOR
A
HBE
Color
C [3]
Firma
FECH
A NAC
.
DE LA
MAD
RE [6]
Tipo de Servicio TS [7] Tipo de Parto TP
[8]O
BSERV
ACIO
NES
M1 [10]
Raza o
Variedad
Rz / Va [2]
Color
C [3]
FECH
A
DE N
AC.
Raza o
Variedad
Rz / Va [9]
RP
PESOFEC
HA D
E
DEST.
AÑO
NAC
.
DE
STETE
S
El éxito del Program
a depende de que los datos sean correctos. Por favor, sea cuidadoso al anotarlos
RE
GISTR
O D
E N
ACIM
IEN
TOS Y D
ESTE
TES
CO
DIG
OS
PADR
E
RE
GISTR
O D
E N
AC
IMIE
NTO
S Y DE
STETE
S
NAC
IMIE
NTO
S
RP
CR
IA(#
Animal)
SEXO
[1]
FECH
A DE N
ACIM
IENTO
.
Raza o Variedad
Rz / Va [2]
Raza o Variedad
Rz / Va [2]
MAD
RE
RP (#
Animal)
HBE
RP (#
Anim
al)
86
Esta
ble
cim
ien
to.................................................................
Nº c
riador..........................
Pro
pie
tario
.........................................................................
001
102/01/2016
Rz
N1
30
054
Rz
C08/05/2013
SN
1043
Rz
C2
00
4065
AA
[1] S
EX
O[2
] Rz /
Va R
AZA
o V
AR
IED
AD
Sele
ccio
nar
Sele
ccio
nar
1. M
ach
o.
Rz. R
aza
Pu
ra
2. H
em
bra
.1/2. C
ruza
1/2
3. M
ellizo
s m
ach
os.
1/4. C
ruza
1/4
4. M
ellizo
con
hem
bra
.3/4. C
ruza
3/4
5. M
elliza
s h
em
bra
s.
3/8. C
ruza
3/8
6. M
elliza
con
mach
o.
5/8. C
ruza
5/8
[3] C
(colo
r)[4
] CM
(Códig
o d
e m
uerto
)
Sele
ccio
nar
1. N
acid
o m
uerto
.
2. D
en
tro d
e la
s 3
6 h
ora
s d
e n
acid
o.
[5] P
N:
[6] F
ech
a N
ac. d
e la
Madre
:
Peso a
l nacer.
A. C
on
sig
nar la
fech
a d
e n
acim
ien
to d
e la
madre
o e
l mes y
el a
ño d
e n
acim
ien
to, o
al m
en
os
el a
ño d
e n
acim
ien
to d
e la
mis
ma.
[7] T
S (T
ipo d
e s
erv
icio
)[8
] TP
(Tip
o d
e p
arto
)3. E
ntre
36 h
ora
s y
30 d
ías.
Sele
ccio
nar
Sele
ccio
nar
4. E
ntre
30 d
ías y
deste
te.
SN
. Serv
icio
natu
ral.
1. N
orm
al.
IA. In
sem
inació
n a
rtificia
l.2. A
yu
da m
an
ual.
TE. T
ran
sfe
ren
cia
em
brio
naria
.3. A
yu
da m
ecán
ica.
4. C
esáre
a.
B. E
n c
aso d
e d
escon
ocer la
info
rmacio
n re
qu
erid
a e
n (A
),
5. A
borto
. d
ecla
rar s
i es: v
aqu
illon
a (v
q)
vaca m
adu
ra (v
m)
[9] R
z /
Va R
aza o
Varie
dad
[10
] M1
(Man
ejo
) v
aca v
ieja
(vv)
Sele
ccio
nar
Sele
ccio
nar
AA
. Aberd
een
An
gu
s.
Asig
nar e
l mis
mo n
úm
ero
a lo
s a
nim
ale
s q
ue re
cib
iero
n ig
ual m
an
ejo
nu
tricio
nal h
asta
el d
este
te.
BH
. Bra
hm
an
.
BG
. Bra
ngu
s.
CB
. Cru
za B
ritán
ica.
CI. C
ruza
Indic
a.
RA
ZA
S IN
DIC
AS Y
DE
RIV
AD
OS
Colo
r
C [3
]
Codig
o d
e M
uerto
M
[4]
Peso a
l Nacer
PN
[5]
RE
CE
PT
OR
A
HB
E
Colo
r
C [3
]
Firm
a
FE
CH
A N
AC
.
DE
LA
MA
DR
E [6
]
Tip
o d
e S
ervicio
TS [7
] Tip
o d
e P
arto
TP
[8]
OB
SERV
AC
ION
ES
M1 [1
0]
Raza o
Varie
dad
Rz /
Va [2
]
Colo
r
C [3
]FE
CH
A
DE
NA
C.
Raza o
Varie
dad
Rz /
Va [9
]
RP
PE
SO
FE
CH
A D
E
DE
ST.
AÑ
O
NA
C.
DE
ST
ET
ES
El é
xito
del P
rogra
ma d
epen
de d
e q
ue lo
s d
ato
s s
ean
corre
cto
s. P
or fa
vor, s
ea c
uid
adoso a
l an
ota
rlos
RE
GIS
TR
O D
E N
AC
IMIE
NT
OS
Y D
ES
TE
TE
S
CO
DIG
OS
PA
DR
E
RE
GIS
TR
O D
E N
AC
IMIE
NT
OS
Y D
ES
TE
TE
S
NA
CIM
IEN
TO
S
RP
CR
IA(#
An
imal)
SE
XO
[1]
FE
CH
A D
E N
AC
IMIE
NTO
.
Raza o
Varie
dad
Rz /
Va [2
]
Raza o
Varie
dad
Rz /
Va [2
]
MA
DR
E
RP
(#
An
imal)
HB
E
RP
(#
An
im
al)
97
ANEXO D
Diccionario de Datos.
SECUENCIAS
Tabla D1.Tabla de Secuencia.
NOMBRE DESCRIPCIÓN
SEQ_ALT_ID Secuencia para la tabla altura. Incrementa de uno en uno.
SEQ_BOV_ID Secuencia para la tabla bovino. Incrementa de uno en uno.
SEQ_CAT_ID Secuencia para la tabla categoría. Incrementa de uno en uno.
SEQ_COL_ID Secuencia para la tabla color. Incrementa de uno en uno.
SEQ_CON_ID Secuencia para la tabla configuración. Incrementa de uno en
uno.
SEQ_ECO_ID Secuencia para la tabla ecografía. Incrementa de uno en uno.
SEQ_EMP_ID Secuencia para la tabla empresa. Incrementa de uno en uno.
SEQ_ESC_ID Secuencia para la tabla escrotal. Incrementa de uno en uno.
SEQ_EST_ID Secuencia para la tabla estado. Incrementa de uno en uno.
SEQ_ETA_VID_ID Secuencia para la tabla etapa_vida. Incrementa de uno en uno.
SEQ_ETB_ID Secuencia para la tabla establo. Incrementa de uno en uno.
SEQ_GEN_ID Secuencia para la tabla género. Incrementa de uno en uno.
SEQ_GRU_TIP_MED_ID Secuencia para la tabla grupo_tipo_medicion. Incrementa de
uno en uno.
SEQ_HAC_ID Secuencia para la tabla hacienda. Incrementa de uno en uno.
SEQ_PES_ID Secuencia para la tabla peso. Incrementa de uno en uno.
SEQ_PRP_ID Secuencia para la tabla prepucio. Incrementa de uno en uno.
SEQ_RAZ_ID Secuencia para la tabla raza. Incrementa de uno en uno.
SEQ_ROL_ID Secuencia para la tabla rol. Incrementa de uno en uno.
SEQ_TIP_MAN_ID Secuencia para la tabla tipo_manejo. Incrementa de uno en
uno.
SEQ_TIP_MED_ID Secuencia para la tabla tipo_medicion. Incrementa de uno en
uno.
SEQ_TIP_NAC_ID Secuencia para la tabla tipo_nacimiento. Incrementa de uno
en uno.
SEQ_TIP_PAR_ID Secuencia para la tabla tipo_parto. Incrementa de uno en uno.
SEQ_TIP_PRE_ID Secuencia para la tabla tipo_prepucio. Incrementa de uno en
uno.
Fuente: Lascano N. año 2016.
98
ALTURA
Tabla D2.Tabla de Altura.
ALTURACAMPO COMENTARIO
alt_id Identificador único de registro.
fk_tip_med_id Llave foránea que indica el tipo de medición.
fk_bov_id Llave foránea que indica el bovino al que se le realiza la
medición.
alt_valor Valor del peso.
alt_fecha_registro Fecha de registro de la medición.
alt_descripcion Descripción de la medición.
Fuente: Lascano N. año 2016.
BOVINO.
Tabla D3.Tabla de Bovino.
CAMPO COMENTARIO
bov_id Identificador único de registro.
fk_col_id Llave foránea que indica el color del bovino.
fk_tip_nac_id Llave foránea que indica el tipo de nacimiento del bovino.
fk_est_id Llave foránea que indica el estado del bovino.
fk_raz_id Llave foránea que indica la raza del bovino.
fk_gen_id Llave foránea que indica el género del bovino.
fk_eta_vid_id Llave foránea que indica la etapa de vía del bovino.
fk_tip_par_id Llave foránea que indica el tipo de parto del bovino.
fk_etb_id Llave foránea que indica el establo donde está el bovino.
fk_tip_man_id Llave foránea que indica el tipo manejo del bovino.
fk_padre_bov_id Llave foránea que indica el padre del bovino.
fk_madre_bov_id Llave foránea que indica la madre del bovino.
bov_nombre Nombre del bovino.
bov_rp Código RP del bovino.
bov_hbe Código HBE del bovino.
bov_fecha_nacimiento Fecha de nacimiento del bovino.
Fuente: Lascano N. año 2016.
CATEGORÍA
Tabla D4.Tabla de Categoría.
CAMPO COMENTARIO
cat_id Identificador único de registro.
cat_nombre Categoría nombre.
cat_descripcion Descripción de la categoría.
Fuente: Lascano N. año 2016.
99
COLOR
Tabla D5.Tabla de Color.
CAMPO COMENTARIO
col_id Identificador único de registro.
col_nombre Color nombre.
col_descripcion Descripción del color.
Fuente: Lascano N. año 2016.
CONFIGURACIÓN
Tabla D6.Tabla de Configuración.
CAMPO COMENTARIO
con_id Identificador único de registro.
con_nombre Nombre de la variable.
con_descripcion Descripción de la variable.
con_valor_texto Valor texto de la variable.
con_valor_numero Valor número de la variable.
con_valor_decimal Valor decimal de la variable.
con_valor_fecha Valor fecha de la variable.
con_valor_hora Valor hora de la variable.
con_valor_margen_error Margen de error de la variable.
Fuente: Lascano N. año 2016.
ECOGRAFÍA
Tabla D7.Tabla de Ecografía.
CAMPO COMENTARIO
eco_id Identificador único de registro.
fk_pel_id Llave foránea que indica si en la medición se pelo la piel del
bovino.
fk_bov_id Llave foránea que indica el bovino del cual se toma la
medición.
eco_fecha Fecha de registro de la medición.
eco_imagenes_aob Número de imágenes AOB.
eco_imagenes_egc Número de imágenes EGC.
eco_imagenes_gi Número de imágenes GI.
Fuente: Lascano N. año 2016.
100
EMPRESA
Tabla D8.Tabla de Empresa.
CAMPO COMENTARIO
emp_id Identificador único de registro.
emp_nombre_largo Nombre largo de la empresa.
emp_nombre_corto Nombre corto de la empresa.
emp_direccion Dirección de la empresa.
emp_ruc Ruc de la empresa.
emp_representante_legal Representante legal de la empresa.
emp_fecha_registro Fecha de alta del registro.
emp_fecha_retiro Fecha de baja del registro.
Fuente: Lascano N. año 2016.
ESCROTAL
Tabla D9.Tabla de Escrotal.
CAMPO COMENTARIO
esc_id Identificador único de registro.
fk_tip_med_id Llave foránea que indica el tipo de medición.
fk_bov_id Llave foránea que indica el bovino del cual se toma la
medición.
esc_valor Valor de la medición.
esc_fecha_registro Fecha de registro de la medición.
esc_descripcion Descripción de la medición.
Fuente: Lascano N. año 2016.
ESTABLO
Tabla D10.Tabla de Establo.
CAMPO COMENTARIO
etb_id Identificador único de registro.
fk_hac_id Llave foránea que indica la hacienda en la que está registrado
el establo.
etb_nombre Nombre del establo.
etb_encargado Encargado del establo.
etb_capacidad El número de bovinos que se pueden registrar en el establo.
Fuente: Lascano N. año 2016.
101
ESTADO
Tabla D11.Tabla de Estado.
CAMPO COMENTARIO
est_id Identificador único de registro.
est_nombre Nombre del registro.
est_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
ETAPA_VIDA
Tabla D12.Tabla de Etapa Vida.
CAMPO COMENTARIO
eta_vid_id Identificador único de registro.
eta_vid_nombre Nombre del registro.
eta_vid_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
GENERO
Tabla D13.Tabla de Genero.
CAMPO COMENTARIO
gen_id Identificador único de registro.
gen_codigo Código del género.
gen_nombre Nombre del registro.
gen_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
GRUPO_TIPO_MEDICION
Tabla D14.Tabla de Tipo Medición.
CAMPO COMENTARIO
gru_tip_med_id Identificador único de registro.
gru_tip_med_nombre Nombre del registro.
gru_tip_med_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
102
HACIENDA
Tabla D15.Tabla de Hacienda.
CAMPO COMENTARIO
hac_id Identificador único de registro.
fk_emp_id Llave foránea que indica la empresa a la cual pertenece
la hacienda.
hac_nombre Nombre de la hacienda.
hac_direccion Dirección de la hacienda.
hac_telefono Teléfono de la hacienda.
hac_celular Celular de la hacienda.
hac_gerente Gerente de la hacienda.
hac_fecha_registro Fecha de dada de alta de la hacienda.
hac_fecha_retiro Fecha de dada de baja la hacienda.
Fuente: Lascano N. año 2016.
PESO
Tabla D16.Tabla de Peso.
CAMPO COMENTARIO
pes_id Identificador único de registro.
fk_tip_med_id Llave foránea que indica el tipo de medición.
fk_bov_id Llave foránea que indica el bovino del cual se toma la
medición.
pes_valor Valor de la medición.
peso_fecha_registro Fecha de registro de la medición.
peso_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
PREPUCIO
Tabla D17.Tabla de Prepucio.
CAMPO COMENTARIO
prp_id Identificador único de registro.
fk_tip_med_id Llave foránea que indica el tipo de medición.
fk_tip_pre_id Llave foránea que indica el tipo de prepucio para la
medición.
fk_bov_id Llave foránea que indica el bovino del cual se toma la
medición.
prp_fecha_registro Fecha de registro de la medición.
Fuente: Lascano N. año 2016.
103
RAZA
Tabla D18.Tabla de Raza.
CAMPO COMENTARIO
raz_id Identificador único de registro.
fk_cat_id Llave foránea que indica la categoría de la raza.
raz_nombre Nombre del registro.
raz_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
ROL
Tabla D19.Tabla de Rol.
CAMPO COMENTARIO
rol_id Identificador único de registro.
rol_nombre Rol nombre.
rol_descripcion Descripción del rol.
rol_estado Estado del rol.
Fuente: Lascano N. año 2016.
TIPO_MANEJO
Tabla D20.Tabla de Tipo Manejo.
CAMPO COMENTARIO
tip_man_id Identificador único de registro.
tip_man_codigo Código del registro.
tip_man_nombre Nombre del registro.
tip_man_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
TIPO_MEDICION
Tabla D21.Tabla de Tipo Medición.
CAMPO COMENTARIO
tip_med_id Identificador único de registro.
fk_gru_tip_med_id Llave foránea que indica grupo de tipo medición.
tip_med_nombre Nombre del registro.
tip_med_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
104
TIPO_NACIMIENTO
Tabla D22.Tabla de Tipo Nacimiento.
CAMPO COMENTARIO
tip_nac_id Identificador único de registro.
tip_nac_nombre Nombre del registro.
tip_nac_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
TIPO_PARTO
Tabla D23.Tabla de Tipo Parto.
CAMPO COMENTARIO
tip_par_id Identificador único de registro.
tip_par_nombre Nombre del registro.
tip_par_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
TIPO_PREPUCIO
Tabla D24.Tabla de Tipo Prepucio.
CAMPO COMENTARIO
tip_pre_id Identificador único de registro.
tip_pre_nombre Nombre del registro.
tip_pre_descripcion Descripción del registro.
Fuente: Lascano N. año 2016.
USUARIO
Tabla D25.Tabla de Usuario.
CAMPO COMENTARIO
usu_cedula Identificador único de registro (nombre de usuario).
usu_password Clave del usuario.
fk_hac_id Llave foránea que indica la hacienda en la que está
registrado el usuario.
usu_apellido Apellido del usuario.
usu_nombre Nombre del usuario.
usu_mail Mail del usuario.
usu_telefono Teléfono del usuario.
usu_celular Celular del usuario.
usu_estado Estado del usuario (Activo - Inactivo).
Fuente: Lascano N. año 2016.
109
ANEXO I
PUESTA EN PRODUCCIÓN DEL SISTEMA.
1. Restauración de la Base de Datos.
En seguida de la instalación del motor de base de datos PostgreSQL 9.3.2.1, iniciar
PgAdmin III, para lo cual se debe dirigir al menú principal del sistema operativo y en
“Inicio” buscar la opción “PostgreSQL 9.3” y elegir la opción “PgAdmin III”; una vez
que se abra el administrador del motor de la base de datos, debemos autenticarnos como
usuario administrador, en este caso usuario “postgres”, e ingresamos la contraseña que se
otorgó en la instalación del motor de base de datos.
Figura I0-1. Login de Usuario, Postgresql 9.3.2.1
Fuente: Lascano N. año 2016.
Crear la base de datos que contendrá la estructura y definición de tablas, funciones,
secuencias, entre otras, para el sistema de control de asistencia, para esto, en el apartado
“Databases” clic derecho y seleccionar la opción “New Database”.
Figura I0-2. Crear Nueva Base de Datos.
Fuente: Lascano N. año 2016.
Se mostrara un cuadro de dialogo en el cual se debe definir las propiedades de la base de
110
datos, ingresar las propiedades en las pestañas de “Properties”, “Definition” tal como se
muestra en las siguientes figuras. Para la creación de la base de datos hacemos clic en el
botón “Aceptar”.
Figura I0-3. Base de Datos, Propiedades Generales.
Fuente: Lascano N. año 2016.
Figura I0-4. Base de Datos, Propiedades Específicas.
Fuente: Lascano N. año 2016.
Cuando esté creada la Base de datos “sicogan”, hay que restaurarla, para esto clic derecho
sobre esta y seleccionar la opción “Restore”.
111
Figura I0-5. Restaurar Base de Datos.
Fuente: Lascano N. año 2016.
Se mostrara una pantalla en la cual hay que seleccionar el backup de la base que se desea
restaurar, para esto Ingresamos al CD “HERRAMIENTAS DE DESARROLLO -
SICOGAN”, ubicar el directorio “INSTALADORES/PostgreSQL/Archivos” y
seleccionamos el archivo “sicogan_custom.backup”, luego de esto hacer clic en el botón
“Restore”.
Figura I0-6. Restaurar Base de Datos.
Fuente: Lascano N. año 2016.
Restaurada la base de datos, la misma debe contener la siguiente estructura, en la cual se
evidencia, sus tablas, secuencias y funciones.
112
Figura I0-7. Estructura de la Base de Datos.
Fuente: Lascano N. año 2016.
2. Desplegar el Sistema en el Servidor de Aplicaciones.
Una vez instalado el servidor de aplicaciones Glassfish 4.1.1, debemos proporcionarle a
este los archivos necesarios para que se pueda conectar al motor de base de datos; para lo
cual debemos copiar el archivo llamado “postgresql-9.2-1003.jdbc4”, ubicado en el CD
“HERRAMIENTAS DE DESARROLLO - SICOGAN” en el directorio
“INSTALADORES/PostgreSQL/Archivos”, y pegarlo en los siguientes directorios del
servidor de aplicaciones:
ruta_de_instalción\glassfish\lib
ruta_de_instalción \glassfish\domains\domain1\lib
ruta_de_instalción \glassfish\domains\domain1\lib\databases
Nota: “ruta_de_instalación” puede ser por ejemplo: C:\glassfish4.1.1\glassfish
Luego de haber copiado el archivo jdbc, necesario para la conexión del servidor con la
base de datos, iniciar el servicio del servidor de aplicaciones, para esto, clic sobre el botón
“Inicio” del sistema operativo, en el apartado de búsqueda, ingresar “cmd”, con lo cual
se mostrará la consola de Windows, hacer clic sobre esta. En la consola ingresar
comandos que inicia el servicio del servidor.
113
cd /
cd “ruta_de_instalción”\bin
Nota: “ruta_de_instalación” puede ser por ejemplo: C:\glassfish4.1.1\glassfish
asadmin start-domain domain1
Figura I0-8. Glassfish, Iniciar Servicio.
Fuente: Lascano N. año 2016.
Cuando el servicio haya subido, Ingresar a su panel de administración, para lo cual,
mediante un browser ingresamos a la dirección http://localhost:4848, en la cual nos
solicitará ingresar un usuario y su contraseña de no ser así se mostrará directamente la
consola de administración, esto como lo muestra la siguiente figura.
Figura I0-9. Glassfish, Inicio de Sesión.
Fuente: Lascano N. año 2016.
114
Para la conexión del sistema con la base de datos es necesario crear el pool de conexiones,
para esto dirigirse al apartado “Resources JDBC Connection Pools” ubicado en la
parte izquierda de la consola de administración del servidor; seguidamente hacer clic en
el botón “New” para crear un nuevo pool de conexión.
Figura I0-10. Creación de Pool de Conexión.
Fuente: Lascano N. año 2016.
El nombre del pool que se va a crear debe llamarse “__SicoganPool”, en “Resource
Type” elegir “javax.sql.DataSource” y en “Database Driver Vendor” elegir “Postgresql”.
Para continuar con el proceso hacer clic sobre el botón “Next”.
Figura I0-11. Propiedades de Pool de Conexión.
Fuente: Lascano N. año 2016.
Las propiedades de “User”, “Password” y “DatabaseName” deben coincidir con las que
se instalaron en el servidor de Base de datos PosgreSQL 9.3.2.1, además de esto
configurar también el, “ServerName” en “localhost” y las demás propiedades dejarlas
por default, para continuar hacer clic sobre el botón “Finalizar”.
115
Figura I0-12. Propiedades de Pool de Conexión con la Base de Datos.
Fuente: Lascano N. año 2016.
Finalizado la configuración del pool de conexión, se debe testear si hay conexión con la
base de datos, para esto, en la opción “Resources JDBC Connection Pools” hacer
clic sobre el pool que se ha creado anteriormente.
Figura I0-13. Verificar la Conexión con la Base de Datos.
Fuente: Lascano N. año 2016.
Para testear la conexión del servidor con la base de datos, hacer clic en el botón “Ping”, si
la conexión esta correcta se mostrara el mensaje “Ping Succeeded”.
116
Figura I0-14. Comprobación de Conexión con la Base de Datos.
Fuente: Lascano N. año 2016.
Cuando haya sido creado el pool de conexión, tenemos que crear el JDBC Resources,
para esto ubicarnos en el apartado “Resources JDBC JDBC Resources” y hacer
clic en el botón “New”.
Figura I0-15. Creación de JDBC Resources.
Fuente: Lascano N. año 2016.
Definimos el nombre del JDBC Resources en “jdbc/__SicoganPool” y en el apartado
“Pool Name” seleccionar “__SicoganPool”, adicional a esto debe estar marcada la opción
de “Enabled”, para continuar hacer clic en el botón “OK”.
Figura I0-16. Propiedades de JDBC Resources.
Fuente: Lascano N. año 2016.
Realizada la configuración del servidor de aplicaciones Glassfish4.1, se debe desplegar
117
el aplicativo de registro de Bovinos, para esto en la consola de administración de Glassfish
ingresar al apartado “Applications” y hacer clic en el botón “Deploy”.
Figura I0-17. Deploy, aplicativo SICOGAN, primera parte.
Fuente: Lascano N. año 2016.
Cuando se haya presionado clic en el boton “Deploy”, se presenta la pantalla en la cual
se debe indicar el archivo a ser deployado en el servidor, para esto hacer clic en el botón
“Examinar” y en el CD “HERRAMIENTAS DE DESARROLLO - SICOGAN”, ubicar
el archivo “sicogan.ear” y seleccionarlo, una vez realizado esto, hacer clic sobre el botón
“Ok”.
Figura I0-18. Deploy, aplicativo SICOGAN, segunda parte.
Fuente: Lascano N. año 2016.
118
3. Acceso al Sistema.
Para acceder al sistema debemos ingresar a la dirección “http://localhost:8080/sicogan-
war/”, esto lo hacemos a través de un browser (de preferencia Mozilla Firefox versión 15
o posterior) como muestra la siguiente imagen.
Figura I0-19. Url de Acceso al Sistema.
Fuente: Lascano N. año 2016.
Al acceder a esta dirección se desplegará la página de inicio del Sistema Veterinario de
control de Bovinos, en la cual se solicita las credenciales de usuario, las mismas que bien
pre configuradas en la base de datos.
Figura I0-20. Login de Usuario.
Fuente: Lascano N. año 2016.
Las Credenciales del usuario súper administrador son:
Usuario: 1804489530
Contraseña: 1804489530