Está en la página 1de 60

TRABAJO FIN DE GRADO

Ttulo

Aplicacin web basada en modelos predictivos para el


control de la maduracin de la uva en la DOC Rioja
Autor/es

scar Mezquita Domnguez


Director/es

Francisco Javier Martnez de Pisn Ascacbar


Facultad

Facultad de Ciencias, Estudios Agroalimentarios e Informtica


Titulacin

Grado en Ingeniera Informtica


Departamento

Curso Acadmico

2012-2013

Aplicacin web basada en modelos predictivos para el control de la


maduracin de la uva en la DOC Rioja, trabajo fin de grado
de scar Mezquita Domnguez, dirigido por Francisco Javier Martnez de Pisn Ascacbar
(publicado por la Universidad de La Rioja), se difunde bajo una Licencia
Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported.
Permisos que vayan ms all de lo cubierto por esta licencia pueden solicitarse a los
titulares del copyright.

El autor
Universidad de La Rioja, Servicio de Publicaciones, 2013
publicaciones.unirioja.es
E-mail: publicaciones@unirioja.es

UNIVERSIDAD DE LA RIOJA

Facultad de Ciencias, Estudios Agroalimentarios


e Informtica

TRABAJO FIN DE GRADO


CURSO 2012-2013
Ingeniera Tcnica en Informtica de
Gestin

APLICACIN WEB BASADA EN


MODELOS PREDICTIVOS
PARA EL CONTROL DE LA
MADURACIN DE LA UVA EN
LA DOC RIOJA
Alumno: Oscar Mezquita Domnguez
Director: Francisco Javier Martnez De Pisn
Ascacbar

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

NDICES

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

I1. ndice
NDICES.................................................................................................................................... 4
I1. NDICE............................................................................................................................... 5
I2. NDICE DE FIGURAS .......................................................................................................... 7
CAPTULO 1: INTRODUCCIN .......................................................................................... 9
1. INTRODUCCIN ............................................................................................................... 10
1.1. RESUMEN (CASTELLANO) ....................................................................................... 10
1.2. RESUMEN (INGLS) ................................................................................................. 10
1.3. RECURSOS HUMANOS ............................................................................................. 11
1.4. ANTECEDENTES ...................................................................................................... 11
1.5. DESCRIPCIN .......................................................................................................... 11
1.5.1. BASE DE DATOS ......................................................................................... 11
1.5.2. SERVICIO WEB ........................................................................................... 12
1.6. ALCANCE (REQUISITOS) ......................................................................................... 13
1.7. TECNOLOGAS ......................................................................................................... 13
1.7.1. ADOBE FLASH ............................................................................................ 13
1.7.2. HTML 5 ..................................................................................................... 13
1.7.3. CSS 3 ......................................................................................................... 14
1.7.4. PHP ............................................................................................................ 15
1.7.5. MYSQL ...................................................................................................... 15
1.7.6. JAVA SCRIPT .............................................................................................. 15
1.7.7. JAVA ........................................................................................................... 15
1.7.8. R................................................................................................................. 16
1.8. RIESGOS .................................................................................................................. 16
1.8.1. FALTA DE FORMACIN .............................................................................. 16
1.8.2. CAMBIOS EN LOS REQUISITOS ................................................................... 16
1.8.3. REQUISITOS POCO CLAROS ........................................................................ 16
1.8.4. PLANIFICACIONES NO REALISTAS .............................................................. 16
1.8.5. UTILIZAR TECNOLOGAS NUEVAS ............................................................. 17
1.8.6. AUSENCIA DEL DESARROLLADOR ............................................................. 17
1.8.7. FALLO EN EL HARDWARE .......................................................................... 17
1.9. ESTRUCTURA DEL PROYECTO ................................................................................. 17
1.10. PLANIFICACIN DEL PROYECTO........................................................................... 17
CAPTULO 2: ANLISIS DEL SISTEMA.......................................................................... 19
2. ANLISIS DEL SISTEMA .................................................................................................. 20
2.1. CATLOGO DE REQUISITOS .................................................................................... 20
2.1.1. DIAGRAMAS DE CASOS DE USO ................................................................. 20
2.1.1.1. DIAGRAMAS DE ACTIVIDAD.......................................................... 22

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

CAPTULO 3: DISEO DEL SISTEMA ............................................................................. 28


3. DISEO ........................................................................................................................... 29
3.1. DISEO DE LA BASE DE DATOS .............................................................................. 29
3.1.1. DISEO DEL MODELO DE DATOS ............................................................... 29
3.1.2. TABLAS Y RELACIONES ............................................................................. 29
3.1.2.1. TABLA ESTACIONES ................................................................... 29
3.1.2.2. TABLA DATOSMETEOROLOGICOS .............................................. 30
3.1.2.3. TABLA DATOSPROCESADOS ....................................................... 30
3.1.2.4. TABLA DATOSNOPROCESADOS .................................................. 31
3.1.2.5. TABLA USUARIOS....................................................................... 32
3.1.2.6. TABLA PARCELAS ...................................................................... 33
3.2. DISEO DEL SERVICIO WEB.................................................................................... 34
CAPTULO 4: IMPLEMENTACIN DEL SISTEMA ...................................................... 35
4. IMPLEMENTACIN DEL SISTEMA .................................................................................... 36
4.1. PROGRAMACIN DE LA BASE DE DATOS ................................................................ 36
4.1.1. DATOS METEOROLGICOS......................................................................... 36
4.1.2. DATOS ESTACIONES ................................................................................... 36
4.1.3. GENERAR CSV ........................................................................................... 37
4.2. PROGRAMACIN DEL SERVICIO WEB ..................................................................... 37
4.2.1.GRFICOS....................................................................................................... 37
4.2.2.USO DEL MODELO PREDICTIVO ..................................................................... 38
4.2.2.1.PROCESAR DATOS ............................................................................ 39
4.2.2.2.EJECUTAR MODELO PREDICTIVO ..................................................... 40
4.2.3.REGISTRO DE USUARIOS ................................................................................ 41
4.2.3.1.USO DE CATCHAS ............................................................................. 41
4.2.3.2.CORREO DE CONFIRMACIN............................................................. 42
4.2.3.3.CONTRASEA DE USUARIO............................................................... 42
4.2.4.OTRAS FUNCIONALIDADES ............................................................................ 43
4.2.4.1.GESTIN DE PARCELAS .................................................................... 43
4.2.4.2.COMPROBAR NAVEGADOR ............................................................... 44
4.2.4.3.CODIFICAR DATOS ............................................................................ 45
CAPTULO 5: PRUEBAS...................................................................................................... 46
5. PRUEBAS ......................................................................................................................... 47
5.1. DISEO DE LAS PRUEBAS APLICADAS AL SERVICIO WEB ...................................... 47
5.2. RESULTADOS DE LAS PRUEBAS APLICADAS AL SERVICIO WEB............................. 48
CAPTULO 6: CONCLUSIONES ........................................................................................ 50
6. CONCLUSIONES............................................................................................................... 51
6.1. CONCLUSIN 1 ........................................................................................................ 51
6.2. CONCLUSIN 2 ........................................................................................................ 51
6.3. CONCLUSIN 3 ........................................................................................................ 52
CAPTULO 7: BIBLIOGRAFA .......................................................................................... 53
7. BIBLIOGRAFA ................................................................................................................ 54
6

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

I2. ndice de Figuras


Figura 01.
Figura 02.
Figura 03.
Figura 04.
Figura 05.
Figura 06.
Figura 07.
Figura 08.
Figura 09.
Figura 10.
Figura 11.
Figura 12.
Figura 13.
Figura 14.
Figura 15.
Figura 16.
Figura 17.
Figura 18.
Figura 19.
Figura 20.
Figura 21.
Figura 22.
Figura 23.
Figura 24.
Figura 25.
Figura 26.
Figura 27.
Figura 28.
Figura 29.
Figura 30.
Figura 31.
Figura 32.
Figura 33.

Estaciones Meteorolgicas ..................................................................................... 12


Ejemplo Input HTML5 ........................................................................................... 14
Nuevas Etiquetas HTML5 ...................................................................................... 14
Divisin de Tareas .................................................................................................. 17
Distribucin en Horas ............................................................................................. 18
Distribucin en Porcentaje...................................................................................... 18
Diagrama de Casos de Usos del Usuario Annimo ................................................ 21
Diagrama de Casos de Usos del Usuario Registrado .............................................. 21
Diagrama de Actividad - Mostrar Grfico .............................................................. 22
Diagrama de Actividad - Obtener Previsin ........................................................... 23
Diagrama de Actividad - Registrarse ...................................................................... 23
Diagrama de Actividad - Autentificacin ............................................................... 24
Diagrama de Actividad - Modificar Datos ............................................................. 24
Diagrama de Actividad - Aadir Parcela ................................................................ 25
Diagrama de Actividad - Modificar Parcela ........................................................... 25
Diagrama de Actividad - Eliminar Parcela ............................................................. 26
Diagrama de Actividad - Mostrar Grfico .............................................................. 26
Diagrama de Actividad - Obtener Previsin ........................................................... 27
Diagrama Entidad-Relacin.................................................................................... 29
Diseo General de la Interfaz ................................................................................. 34
Diseo Final ............................................................................................................ 34
ODBC ..................................................................................................................... 36
Ejemplo de Grfico ................................................................................................. 38
Ejemplo de Datos Procesados ................................................................................. 40
Ejemplo de Previsin .............................................................................................. 41
Ejemplo Grfico de Previsin ................................................................................. 41
Ejemplo Formulario de Registro ............................................................................ 42
Contraseas Almacenadas ...................................................................................... 43
Ejemplo Listado Parcelas ....................................................................................... 44
Comprobar Navegador y JavaScript ....................................................................... 45
Pase de Variables .................................................................................................... 45
Distribucin en Horas Real ..................................................................................... 51
Distribucin en Porcentaje Real ............................................................................. 51

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

CAPTULO 1:
INTRODUCCIN

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

1. Introduccin
1.1. Resumen (Castellano)
El objetivo principal de este proyecto es desarrollar un Servicio Web para la utilizacin de
modelos predictivos en el control de la maduracin de la uva en la Denominacin de Origen
Calificada Rioja (DOC Rioja), principalmente, centrndose en el grado alcohlico de la uva.
Esta Web debe servir a los enlogos, viticultores o gestores de una bodega o cooperativa para
predecir el proceso de maduracin de la uva segn la meteorologa y las caractersticas propias
de la finca, y, de esta forma, conocer cundo sera el momento ptimo de realizar la vendimia
de dicha finca. Con el propsito de facilitar la visualizacin, se utilizarn grficos donde se
representarn los datos obtenidos.
A parte del objetivo principal, la Web contar con un sistema de grficos para comparar
diferentes atributos meteorolgicos (humedad, precipitaciones, temperatura y radiacin solar),
ya que, dichos atributos tienen una gran influencia sobre el modelo predictivo.
Para facilitar la utilizacin de los modelos los usuarios podrn registrarse y, una vez realizado
este proceso, podrn almacenar sus parcelas, incluyendo los datos ms representativos y
necesarios para el uso de los modelos.
Las principales caractersticas a tener en cuenta en este proyecto son:
Necesidad de crear un Servicio Web para el uso de los modelos predictivos.
Necesidad de registro y/o autentificacin por parte de los usuarios.
Despliegue de una serie grficos.
Posibilidad de modificar los datos de los usuarios registrados.
Posibilidad de introducir parcelas, incluyendo los datos necesarios para el uso de los
modelos predictivos, por parte de los usuarios registrados.
Posibilidad de modificar y/o eliminar las parcelas introducidas.
Este proyecto debe estar finalizado antes del 1 de junio de 2013, ya que, es en este mes cuando
se realizarn las presentaciones de los Trabajos de Fin de Grado.

1.2. Resumen (Ingls)


The main aim of this Undergraduate Thesis Project is to develop a Web Service to use
predictive patterns when controlling the ripening of grapes in the Rioja Certificate of Origin.
Basically, this project will be focused on the degree of alcohol included in grapes. This web
could be useful to oenologists, vine growers and winery or cooperative managers to foresee
the ripening of the grapes according to the weather and the features of the plots in order to
know the right time to pick the grapes. To make the display easier, several graphics containing
the data obtained will be used.
In addition, the Web will have a system of graphics to compare different meteorological
features such as humidity, rain, temperature, and solar radiation since such features have a
great influence on the predictive pattern.
Also, to facilitate the use of the patterns, all the users will be able to register and then to
upload their plots, including the most representative and necessary data to use the patterns.
The main characteristics of this Undergraduate Thesis Project are the following:
10

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

The necessity of creating a Web Service for the use of predictive patterns.
The necessity of register or/and validation of the users.
The display of several graphics.
The possibility of changing the users data.
The possibility of including plots containing the necessary data for the use of the predictive
models of the users.
The possibility of changing or/and deleting the plots.
This Undergraduate Thesis Project must be finished before the 1st of June, 2013 since the
defenses of the Final Degree Projects will take place in June.

1.3. Recursos Humanos


Los principales participantes en este proyecto son:
Proyectante: Oscar Mezquita Domnguez, encargado de desarrollar este proyecto.
Director de proyecto: Francisco Javier Martnez de Pisn Ascacbar, que, como director,
su funcin ser aconsejar y supervisar el desarrollo del proyecto.

1.4. Antecedentes
Roberto Fernndez Martnez en su Tesis Doctoral Utilizacin de Redes de Sensores
Inalmbricas y Tcnicas de Aprendizaje Automtico para la Obtencin de Conocimiento til
en Entornos Vitivincolas, desarroll un modelo predictivo para la maduracin de la uva a lo
largo del periodo comprendido desde el final del envero hasta la maduracin y la vendimia del
fruto. Para ello, modeliz varias de las variables que definen la evolucin de dicho proceso y,
adems, analiz los atributos meteorolgicos que influenciaban dichas variables.
Para que este modelo estuviera a disposicin de enlogos, viticultores o gestores de una
bodega o cooperativa, el profesor Francisco Javier Martnez de Pisn me propuso la
implementacin de un Servicio Web donde se mostraran los datos meteorolgicos que
influyen en la maduracin de la uva y donde se pudiera utilizar, de una forma sencilla y
amigable, el modelo predictivo.
En base a lo expuesto anteriormente, se decidi llevar a cabo este Trabajo Fin de Grado.

1.5. Descripcin
A continuacin describir, a grandes rasgos, los diferentes elementos que componen el
proyecto:

1.5.1. Base de Datos


Para dar soporte a la web y al modelo predictivo es necesario el diseo e implementacin de
una Base de Datos que contenga los datos necesarios.
A continuacin, enumerar los diferentes datos que deber contener la BD:
Estaciones meteorolgicas: en las estaciones meteorolgicas es donde se realizan las
mediciones de las diferentes variables atmosfricas, stas sirven para ubicar dichas
mediciones y las parcelas introducidas por los usuarios registrados.
Datos meteorolgicos: para el uso del modelo y la generacin de los grficos incluidos
en la Web son necesarias las mediciones realizadas en las diferentes estaciones
meteorolgicas.
11

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA


Datos meteorolgicos procesados: para el uso del modelo predictivo es necesario un

conjunto de treinta variables de entrada. Estas variables se calculan a partir de los datos
meteorolgicos.
Datos meteorolgicos de entrenamiento: para el uso del modelo predictivo es
necesario un conjunto de datos compuestos por treinta variables para realizar el
entrenamiento del modelo predictivo, por lo que, se han introducido en la base de datos
y estas variables se calculan a partir de los datos meteorolgicos.
Usuarios: para que los usuarios puedan registrarse y utilizar las diferentes
funcionalidades disponibles debern almacenarse sus datos.
Parcelas: para facilitar el uso del modelo predictivo los usuarios registrados podrn
introducir sus parcelas (vias) y, de esta forma, no necesitarn introducir cada vez los
datos.

Figura 1. Estaciones Meteorolgicas

1.5.2. Servicio Web


Elemento desde donde el usuario, tanto un usuario annimo (es decir, un usuario que no se
ha registrado y, por lo tanto, no ha iniciado una sesin) como un usuario logueado, accedern
a las diferentes funcionalidades, dichas funcionalidades son:
Registro Web: posibilidad de registrarse en la Web. Esta funcionalidad estar disponible
para todos los usuarios.
Autentificacin Web: posibilidad de loguearse en la Web. Previamente el usuario deber
registrarse.
Representacin de datos meteorolgicos: representacin mediante grficos de los datos
meteorolgicos ms influyentes en el proceso de maduracin de la uva (humedad,
precipitaciones, temperatura y radiacin solar). Esta funcionalidad estar disponible para
todos los usuarios.
Evolucin del grado alcohlico: representacin mediante grficos de las valores
obtenidos del modelo predictivo. Esta funcionalidad estar disponible para todos los
usuarios, pero los usuarios no registrados debern introducir cada vez los datos necesarios
para el clculo del modelo, mientras que, los usuarios registrados podrn aplicarlo
directamente sobre las parcelas que hayan introducido.
Los valores del modelo predictivo se dividirn por semanas desde la fecha que el usuario
introduzca como fecha de inicio hasta la fecha de la vendimia.
Gestin de datos: el usuario podr modificar los datos que introdujo durante el proceso
de registro, por lo que, el usuario debe estar previamente registrado.
Aadir parcela: introducir en la Web una parcela, es decir, introducir los datos de dicha
parcela para poder aplicarle el modelo predictivo. Cada parcela se asigna al usuario, por
lo que, el usuario debe estar previamente registrado.
12

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA


Modificar parcela: modificar los datos de una parcela, esta funcionalidad slo estar

disponible para usuarios registrados.


Eliminar parcela: eliminar una parcela introducida previamente de la Web, esta

funcionalidad slo estar disponible para usuarios registrados.

1.6. Alcance (Requisitos)


Para conocer los requisitos de este proyecto me reun con Francisco Javier Martnez de Pisn
y con Roberto Fernndez Martnez. En esta reunin se definieron los requisitos generales del
proyecto:
Creacin del servicio web para el uso del modelo predictivo.
Creacin de la base de datos (es decir, la creacin de las tablas y/o campos) necesaria
para el uso del modelo predictivo.
Posibilidad de registrarse y loguearse para acceder a ciertas funcionalidades.
Uso de grficos para representar los datos obtenidos del modelo y otros datos referentes a
la meteorologa.
Posibilidad de gestin de parcelas de los usuarios registrados.
Otro de los requisitos seran las tecnologas implicadas en el desarrollo de este proyecto:
Adobe Flash: para el desarrollo de los grficos.
HTML: para el desarrollo del servicio web.
CSS: para definir el aspecto y formato del Servicio Web.
PHP: para aportar funcionalidad al servicio web, como la conexin con la base de
datos.
Java Script: para aportar cierta funcionalidad al servicio web.
MYSQL: para la gestin de la base de datos.
Java: para la ejecucin del modelo predictivo.
R: para procesar los datos meteorolgicos.

1.7. Tecnologas
A continuacin explicar las tecnologas utilizadas en el desarrollo de este proyecto.

1.7.1. Adobe Flash


Anteriormente llamado Macromedia Flash, es una aplicacin en forma de estudio de
animacin que trabaja sobre "fotogramas", destinado a la produccin y entrega de contenido
interactivo sin importar la plataforma. Utiliza grficos vectoriales (imagen digital formada
por objetos geomtricos independientes como segmentos, polgonos, arcos, etc.) e imgenes
rster (mapa de bits, imagen matricial o bitmap), sonido, cdigo de programa, flujo de vdeo
y audio bidireccional. En sentido estricto, Flash es el entorno y Flash Player es el programa
de mquina virtual utilizado para ejecutar los archivos generados con Flash.

1.7.2. HTML 5
Siglas de HyperText Markup Language o Lenguaje de Marcado de Hipertexto (surgi a
partir de las etiquetas SGML o Standard Generalized Markup Language). Hace referencia al
lenguaje de marcado predominante para la elaboracin de pginas web que se utiliza para
describir y traducir la estructura y la informacin en forma de texto, as como para
complementar el texto con objetos tales como imgenes.
HTML tambin puede describir, hasta un cierto punto, la apariencia de un documento y
puede incluir otros lenguajes para que cambie el comportamiento de navegadores web.
13

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Para el desarrollo de este proyecto se usar HTML5, ya que esta nueva revisin incluye
nuevos elementos que pueden ser tiles, como son:
Etiqueta header: representa la cabecera de un documento o seccin, diferente a la
etiqueta head.
Etiqueta footer: representa el pie de un documento o seccin.
Etiqueta input: se han aadido trece nuevos elemento type como:
Date y Datetime: que hacen referencia a datos de tipo fechas.
Email: para correos electrnicos y, aparte de hacer referencia al aspecto del campo,
tambin realiza la comprobacin de que los datos introducidos en dicho campo
mantengan el formato especfico para emails (----@----.---).
Tambin se han aadido varios atributos nuevos como:
Required: este atributo sirve para especificar que un campo es obligatorio y esto
implica que los datos del formulario no sern enviados si el campo marcado como
requerido est vaco, eliminando la necesidad de realizar la comprobacin por parte
del desarrollador.
Placeholder: este atributo permite rellenar el campo con un valor predeterminado y
una vez que el usuario hace clic en el campo este valor desaparece.
Title: este atributo permite personalizar el error que nos ofrece el navegador cuando
alguno de los datos no cumple alguno de los requisitos, como tipo de dato, formato,
obligatoriedad, etc.

Figura 2. Ejemplo Input HTML5

Etiqueta nav: debido a que la gran mayora de webs incluyen mens de navegacin se

incluy esta etiqueta para facilitar su uso y para que en los dispositivos mviles (tablets y
telfonos mviles) puedan reconocerlos de una forma ms sencilla.
Etiqueta article: tienen por finalidad representar un contenido especfico de una web.
Etiqueta section: tienen por finalidad definir secciones (bloques) dentro de una web.

Figura 3. Nuevas Etiquetas HTML5

1.7.3. CSS 3
CSS son las siglas de Hojas de Estilo en Cascada o Cascading Style Sheets y hacen
referencia a un lenguaje de hojas de estilos usado para describir la presentacin (el aspecto y
el formato) de un documento escrito en lenguaje de marcas. Su aplicacin ms comn es dar
estilo a pginas webs escritas en lenguaje HTML y XHTML, pero tambin puede ser
aplicado a cualquier tipo de documentos XML.
La informacin de estilo puede ser adjuntada como un documento separado o en el mismo
documento HTML. En este ltimo caso podran definirse estilos generales en la cabecera del
documento o en cada etiqueta particular mediante el atributo style.
14

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Para el desarrollo del proyecto se usar CSS3, ya que, incorpora nuevos mecanismos para
mantener un mayor control sobre el estilo con el que se muestran los elementos de las
pginas, sin tener que recurrir a trucos, que a menudo complicaban el cdigo de las web. Las
principales novedades CSS3 son:
Bordes: border-color, border-image, border-radius, box-shadow.
Fondos: background-origin, background-clip, background-size, capas con mltiples
imgenes de fondo.
Color: colores HSL, colores HSLA, colores RGBA, Opacidad.
Texto: text-shadow, text-overflow, divisin de palabras largas, Web Fonts.
Interfaz: box-sizing, resize, outline, nav (nav-top, nav-right, nav-bottom, nav-left).
Degradados: lineales, radiales, lineales de repeticin, radiales de repeticin.
Varios: media queries, mltiples columnas de texto, propiedades orientadas a la lectura
automtica de pginas web, animaciones mediante CSS.

1.7.4. PHP
Acrnimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools o
Personal Home Page Tools). Es un lenguaje de programacin interpretado, es decir, que est
diseado para ser ejecutado por medio de un intrprete; diseado originalmente para la
creacin de pginas web dinmicas. Es usado principalmente en interpretacin en el lado del
servidor pero, actualmente, puede ser utilizado desde una interfaz de lnea de comandos o en
la creacin de otros tipos de programas, incluyendo aplicaciones con interfaz grfica.

1.7.5. MySQL
MySQL es un sistema de administracin relacional de bases de datos multihilo y
multiusuario. Se trata de una base de datos relacional archiva datos en tablas separadas en
vez de colocar todos los datos en un gran archivo, esto permite velocidad y flexibilidad. Las
tablas estn conectadas por relaciones definidas que hacen posible combinar datos de
diferentes tablas sobre pedido.
MySQL es software de fuente abierta, esto quiere decir, que es posible para cualquier
persona usarlo y modificarlo; cualquiera puede bajar el cdigo fuente de MySQL y usarlo sin
pagar, cualquier interesado puede estudiar el cdigo fuente y ajustarlo a sus necesidades.
MySQL usa el GPL (GNU General Public License) para definir lo que puede hacer y lo que
no puede hacer con el software en diferentes situaciones.

1.7.6. Java Script


Es un lenguaje de scripting basado en objetos, utilizado para acceder a objetos en
aplicaciones. Principalmente se utiliza integrado en un navegador web permitiendo el
desarrollo de interfaces de usuario mejoradas y pginas web dinmicas. Se caracteriza por
ser un lenguaje basado en prototipos, con entrada dinmica y con funciones de primera clase.
Java Script ha tenido influencia de mltiples lenguajes y se dise con una sintaxis similar al
lenguaje de programacin Java.

1.7.7. Java
Java es un lenguaje de programacin publicado en el 1995 como un componente
fundamental de la plataforma Java de Sun Microsystems. El lenguaje deriva de la sintaxis de
C y C++, pero tiene menos facilidades de bajo nivel que cualquiera de ellos. Las
aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que puede correr
en cualquier mquina virtual Java (JVM) sin importar la arquitectura del ordenador. Java es
15

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

un lenguaje de programacin de propsito general, concurrente, basado en clases y orientado


a objetos, que fue diseado especficamente para tener tan pocas dependencias de
implementacin como fuera posible.
Su intencin es permitir que los desarrolladores de aplicaciones escriban el programa una
vez y lo ejecuten en cualquier dispositivo (conocido en ingls como WORA o write once,
run anywhere), lo que quiere decir que el cdigo que es ejecutado en una plataforma no
tiene que ser recompilado para correr en otra.

1.7.8. R
R es un lenguaje y entorno de programacin para anlisis estadstico y grfico, lo que
posibilita la carga de diferentes bibliotecas o paquetes con finalidades especficas de clculo
o grfico. Se trata de un proyecto de software libre.
R proporciona un amplio abanico de herramientas estadsticas (modelos lineales y no
lineales, test estadsticos, anlisis de series temporales, algoritmos de clasificacin y
agrupamiento, etc.) y grficas.

1.8. Riesgos
Los riesgos asociados a este proyecto son los siguientes:

1.8.1. Falta de Formacin


La falta de formacin tcnica y de experiencia conllevara el aumento del tiempo de
desarrollo del proyecto. Este riesgo se podra dar durante todo el desarrollo del mismo y con
un nivel alto de probabilidad de que ocurra.

1.8.2. Cambios en los Requisitos


Los cambios en los requisitos inciales como, por ejemplo, darse cuenta de que la aplicacin
sera ms eficiente utilizando otra tecnologa distinta a la acordada inicialmente en el
documento de requisitos inciales. Este riesgo se podra dar durante todo el desarrollo del
proyecto y con un nivel bajo de probabilidad de que ocurra.

1.8.3. Requisitos Poco Claros


Si no se tienen los requisitos claros desde el principio podemos hacer mal el trabajo y
retrasar la fecha de entrega del proyecto debido a errores de lgica o entendimiento. Este
riesgo se podra dar durante todo el desarrollo del proyecto y con un nivel bajo de
probabilidad de que ocurra.

1.8.4. Planificaciones no realistas


Una planificacin poco realista surge, normalmente, debido a la inexperiencia. Una buena
planificacin debe tener en cuenta todos los inconvenientes y retrasos que puedan surgir.
Si somos demasiado optimistas, haciendo la planificacin, estaremos obligados a cumplirla,
si no se cumple en el tiempo indicado estaremos usando tiempo planificado para otros
deberes y no cumpliremos con las expectativas que hemos creado al cliente. Este riesgo se
podra dar durante la planificacin del proyecto y con un nivel alto de probabilidad de que
ocurra, ya que no dispongo de una amplia experiencia.
16

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

1.8.5. Utilizar Tecnologas Nuevas


Esto se puede dar si se trabaja con tecnologas nuevas, tanto, con hardware como con
software. Este riesgo se podra dar durante la fase de implementacin del proyecto y con un
nivel alto de probabilidad de que ocurra.

1.8.6. Ausencia del Desarrollador


La ausencia temporal o indefinida del desarrollador, es decir, que no pudiera trabajar en el
proyecto durante un tiempo, ya sea por enfermedad, motivos personales, etc. Este riesgo se
podra dar durante todo el desarrollo del proyecto y con un nivel bajo de probabilidad de que
ocurra.

1.8.7. Fallo en el Hardware


Fallo catastrfico en el hardware, es decir, perder todo el trabajo que tengamos hasta ese
momento almacenado en los discos duros. Son muchas las causas que pueden llevar a que se
pierdan datos valiosos, como incendios, cadas de la red en medio de una transferencia de
informacin, antigedad de los discos, mala manipulacin, ataques de virus, etc. Este riesgo
se podra dar durante todo el desarrollo del proyecto y con un nivel bajo de probabilidad de
que ocurra que se pierda la totalidad del proyecto, ya que se realizarn copias de seguridad
de forma regular y se almacenarn en diversos lugares geogrficos distintos, lo que s puede
ocurrir es la perdida puntual de alguna modificacin debido a que el fallo se produzca antes
de realizar dicha copia de seguridad.

1.9. Estructura del Proyecto


Para poder realizar una correcta planificacin se hizo una divisin en tareas del proyecto, sta
queda representada en el siguiente grfico:

Figura 4. Divisin de Tareas

Con esta divisin se ajust la planificacin que a continuacin se expone.

1.10. Planificacin del Proyecto


El plazo para el desarrollo del proyecto ser de 300 horas, distribuidas entre el 4 de febrero y
el 31 de mayo de 2013.
17

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

La planificacin se ha dividido en tareas y cada tarea se distribuy en el tiempo asignndole


un nmero de horas, dejando siempre un margen de tiempo, para que en caso de retrasos en
alguna de ellas el proyecto no se viera afectado en todo su conjunto, tambin se dejo, al final
del proyecto un periodo de tiempo por si era necesario ampliar alguna de las tareas, realizar
cambios y/o realizar ms pruebas.
Por lo que la planificacin quedo de la siguiente forma:
Definicin y planificacin: 20 horas.
Formacin: 40 horas.
Anlisis del sistema: 20 horas, que inclua el anlisis de requisitos (5 horas); diseo de
los diagramas (5 horas); identificacin de tecnologas (5 horas) y 5 horas como margen.
Diseo del sistema: 30 horas, que inclua el diseo de la base de datos (5 horas); el
diseo de la web (20 horas) y 5 horas como margen.
Implementacin del sistema: 135 horas, que inclua la implementacin de la base de
datos y la generacin del cdigo necesario para la introduccin de datos en ella (15
horas); la implementacin del servicio web y todas sus funcionalidades (115 horas) y 5
horas como margen.
Pruebas: 5 horas.
Documentacin: 35 horas, que inclua la documentacin del cdigo (5 horas); la
redaccin de la memoria de trabajo (20 horas); la creacin de la presentacin (5 horas) y
5 horas como margen.
De esta forma suman 290 horas, por lo que las 10 horas restantes quedan para utilizarlas en
caso de necesidad en alguna de las anteriores tareas, a parte de lo anterior, cada dos semanas
se realizar una reunin con el tutor del proyecto para comprobar el desarrollo del mismo.
En el siguiente grfico veremos la distribucin, en horas, de cada una de las diferentes tareas:
Horas
160
140
120
100
80
60
40
20
0

135

40
20

20

35

30

10

10

Figura 5. Distribucin en Horas

A continuacin veremos el porcentaje, de horas, de cada una de las diferentes tareas:


Definicin y Planificacin

Porcentajes

Formacin
3%

12%

7%

3%

13%

7%

Anlisis del Sistema


Diseo
Implementacin

45%

Pruebas
10%

Documentacin
Tiempo Extra

Figura 6. Distribucin en Porcentaje

18

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

CAPTULO 2:
ANLISIS DEL
SISTEMA

19

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

2. Anlisis del Sistema


En este apartado realizaremos una especificacin detallada del sistema. Veremos, en primer
lugar, los requisitos que ha de cumplir el proyecto.

2.1. Catlogo de Requisitos


Los requisitos finales que el proyecto deber cumplir quedaron definidos y sern los
siguientes:
Creacin del servicio web para el uso del modelo predictivo.
Creacin de la base de datos (es decir, la creacin de las tablas y/o campos) necesaria
para el uso del modelo predictivo.
Posibilidad de registrarse y loguearse para acceder a ciertas funcionalidades.
Uso de grficos para representar los datos obtenidos del modelo y otros datos referentes a
la meteorologa.
Posibilidad de gestin de parcelas de los usuarios registrados.
Otro de los requisitos seran las tecnologas implicadas en el desarrollo de este proyecto:
Adobe Flash: para el desarrollo de los grficos.
HTML: para el desarrollo del servicio web.
CSS: para definir el aspecto y formato del Servicio Web.
PHP: para aportar funcionalidad al servicio web, como la conexin con la base de
datos.
Java Script: para aportar cierta funcionalidad al servicio web.
MYSQL: para la gestin de los datos en la base de datos.
Java: para la ejecucin del modelo predictivo.
R: para procesar los datos meteorolgicos.

2.1.1. Diagramas de Casos de Uso


A continuacin, se explicar de forma detallada el diagrama de casos de uso de la aplicacin
y sus respectivos actores.
Lo primero es que podemos distinguir entro dos actores diferentes, por un lado el usuario
annimo, es decir, aquel usuario que no se ha registrado y, por lo tanto, no se ha
identificado y por otro el usuario registrado; es decir, el usuario que se ha registrado y que
ya puede identificarse en la web y acceder a todas las funcionalidades.
En primer lugar, veremos el diagrama del usuario annimo:

20

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Figura 7. Diagrama de Casos de Usos del Usuario Annimo

Y, en segundo lugar, veremos el diagrama del usuario registrado:

Figura 8. Diagrama de Casos de Usos del Usuario Registrado

21

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

2.1.1.1. Diagramas de Actividad


Primero nos centraremos en las funcionalidades disponibles para el usuario annimo:
Nombre:
Descripcin:
Precondiciones:
Acciones:

Resultado:

Mostrar Grfico
El usuario podr ver un grfico comparativo de un parmetro
meteorolgico.
Ninguna.
- Seleccionar parmetro meteorolgico a mostrar.
- Seleccionar los tipos de datos (resumen, valores de la media, valores
mximos, valores mnimos).
- Seleccionar las opciones referentes al tipo de dato (agrupar por aos
o por zonas).
El grfico generado a partir de las elecciones del usuario se mostrar en
la pantalla.

Figura 9. Diagrama de Actividad - Mostrar Grfico

Nombre:
Descripcin:

Precondiciones:
Acciones:
Resultado:

22

Obtener Previsin
El usuario podr obtener las previsiones del grado alcohlico gracias a
la utilizacin del modelo predictivo y dichas previsiones se mostrarn a
travs de un grfico.
Ninguna.
- Introducir los datos necesarios para el uso del modelo.
El grfico generado a partir de los datos obtenidos del modelo
predictivo se mostrar en la pantalla.

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Figura 10.Diagrama de Actividad - Obtener Previsin

Nombre:
Descripcin:
Precondiciones:
Acciones:
Resultado:

Registrarse
El usuario podr registrarse en la web.
Ninguna.
- Introducir sus datos.
- Introducir el captcha.
El usuario pasa a estar registrado, por lo tanto, podr autentificarse y
acceder a todas las funciones disponibles en el servicio web.

Figura 11.Diagrama de Actividad - Registrarse

23

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

A continuacin, nos centraremos en las funcionalidades disponibles para el usuario


registrado:
Nombre:
Descripcin:
Precondiciones:
Acciones:
Resultado:

Autentificarse
El usuario registrado podr loguearse y acceder a todas las
funcionalidades disponibles.
El usuario debe estar registrado previamente.
- Introducir nombre de usuario.
- Introducir contrasea.
El usuario iniciar una sesin en la web.

Figura 12.Diagrama de Actividad - Autentificacin

Nombre:
Descripcin:
Precondiciones:
Acciones:
Resultado:

Modificar Datos del Usuario


El usuario podr modificar los datos que introdujo al registrarse.
El usuario debe estar registrado e identificado.
- Modificar datos.
- Verificar la modificacin de los datos.
Los datos del usuario sern modificados.

Figura 13.Diagrama de Actividad - Modificar Datos

24

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Nombre:
Descripcin:
Precondiciones:
Acciones:
Resultado:

Aadir Parcela
El usuario podr aadir una parcela.
El usuario debe estar registrado e identificado.
- Introducir los datos correspondientes de la parcela.
La parcela ser almacenada.

Figura 14.Diagrama de Actividad - Aadir Parcela

Nombre:
Descripcin:
Precondiciones:
Acciones:

Resultado:

Modificar Datos Parcela


El usuario podr modificar los datos de una parcela que previamente ha
introducido en la web.
El usuario debe estar registrado e identificado y debe haber introducido
previamente una parcela.
- Elegir parcela.
- Modificar los datos de la parcela.
- Verificar la modificacin de los datos.
Los datos de la parcela sern modificados.

Figura 15.Diagrama de Actividad - Modificar Parcela

25

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Nombre:
Descripcin:
Precondiciones:
Acciones:

Resultado:

Eliminar Parcela
El usuario podr eliminar una parcela que previamente ha introducido en la
web.
El usuario debe estar registrado, identificado y haber introducido
previamente una parcela.
- Elegir parcela.
- Eliminar la parcela.
- Verificar la eliminacin de la parcela.
Los datos de la parcela sern eliminados.

Figura 16.Diagrama de Actividad - Eliminar Parcela

Nombre:
Descripcin:
Precondiciones:
Acciones:

Resultado:

Mostrar Grfico
El usuario podr ver un grfico comparativo de un parmetro
meteorolgico.
El usuario debe estar registrado e identificado, aunque esta funcin
tambin est disponible para los usuarios no registrados.
- Seleccionar parmetro meteorolgico a mostrar.
- Seleccionar los tipos de datos (resumen, valores de la media, valores
mximos, valores mnimos).
- Seleccionar las opciones referentes al tipo de dato (agrupar por aos
o por zonas).
El grfico generado a partir de las elecciones del usuario se mostrar en
la pantalla.

Figura 17.Diagrama de Actividad - Mostrar Grfico

26

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Nombre:
Descripcin:

Precondiciones:
Acciones:
Resultado:

Obtener Previsin de una Parcela


El usuario podr obtener las previsiones del grado alcohlico de una
parcela determinada gracias a la utilizacin del modelo predictivo y
dichas previsiones se mostrarn a travs de un grfico.
El usuario debe estar registrado, identificado y haber introducido
previamente una parcela.
- Seleccionar parcela.
- Modificar los datos necesarios para el uso del modelo (opcional).
El grfico generado a partir de los datos obtenidos del modelo
predictivo se mostrar en la pantalla.

Figura 18.Diagrama de Actividad - Obtener Previsin Parcela

27

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

CAPTULO 3:
DISEO DEL SISTEMA

28

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

3. Diseo
En esta parte deber quedar especificada la forma de desarrollar el proyecto, cul va a ser su
funcionamiento y estructura, etc.
Dentro de esta tarea se pueden encontrar dos grandes secciones: por una parte, el diseo de la
Base de Datos (Modelo de datos) y, por otra, la del Servicio Web (Diseo de las interfaces).

3.1. Diseo de la Base de Datos


En primer lugar, nos centraremos en la parte que hace referencia a la Base de Datos:

3.1.1. Diseo del Modelo de Datos


Para almacenar los datos necesarios para el Servicio Web y para el uso del modelo predictivo
es necesario el uso de una base de datos. A continuacin se explica el diseo del modelo de
datos, comenzando con el diagrama UML:

Figura 19.Diagrama UML

3.1.2. Tablas y Relaciones


Seguidamente, se detallarn las diferentes tablas y relaciones que forman la Base de Datos:

3.1.2.1. Tabla estaciones


En las estaciones meteorolgicas se realizan las mediciones de las diferentes variables
atmosfricas y sirven para ubicar dichas mediciones y las parcelas introducidas por los
usuarios registrados.
Los datos a almacenar de las estaciones y sus tipos:
CodeEstacion: para identificar la estacin meteorolgica. Por lo tanto, es la clave
primaria y su tipo es int de longitud 4.
Nombre: nombre de la estacin meteorolgica, que habitualmente corresponde con la
zona donde se encuentra ubicada. Es de tipo varchar de longitud 25.
Latitud: distancia desde el ecuador hasta donde se encuentra la estacin meteorolgica.
Es tipo es int de longitud 15.
Longitud: distancia desde el meridiano cero hasta donde se encuentra la estacin
meteorolgica. Es de tipo int de longitud 15.
29

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA


Altitud: distancias desde el nivel del mar hasta donde se encuentra la estacin

meteorolgica. Es de tipo int de longitud 15.

3.1.2.2. Tabla datosmeteorologicos


Para el uso del modelo y la generacin de los grficos incluidos en la Web son necesarias
las mediciones realizadas en las diferentes estaciones meteorolgicas, los datos de dichas
mediciones a almacenar, sus tipos y sus relaciones son los siguientes:
CodeEstacion: para identificar la estacin meteorolgica donde se ha realizado la
captura de los datos. Es de tipo int de longitud 4 y este campo es una clave fornea del
campo CodeEstacion de la tabla estaciones.
Fecha: fecha cuando se ha realizado la captura de los datos. Es de tipo date.
TempMed: dato de tipo double.
TempMax: dato de tipo double.
TempMin: dato de tipo double.
Lluvia: dato de tipo double.
Humedad: dato de tipo double.
Radiacion: dato de tipo double.
La clave primaria son los campos CodeEstacion y Fecha, ya que cada estacin realiza
una medicin diaria, por lo que el cdigo o la fecha de forma separada no son nicos.

3.1.2.3. Tabla datosprocesados


Para el uso del modelo predictivo es necesario un conjunto de treinta variables de entrada,
que se calculan a partir de los datos meteorolgicos. Las variables, sus tipos y sus
relaciones son:
FechaInicio: fecha cuando se produce el procesamiento de los datos. Es de tipo date.
CodeEstacion: para identificar la estacin meteorolgica donde se ha realizado la
captura de los datos. Es de tipo int de longitud 4 y este campo es una clave fornea del
campo CodeEstacion de la tabla estaciones.
Variedad: variedad de la uva plantada en la via. Es de tipo varchar de longitud 25.
Anio: ao cuando se plant la via. Es de tipo double.
Cota: altitud, en metros, de la via. Es de tipo double.
Peso100Granos: peso de cien granos de uva. Es de tipo double.
Dir: direccin del viento dominante durante la semana anterior. Es de tipo varchar de
longitud 5.
HumMedia: humedad relativa media durante la semana anterior. Es de tipo double.
HumMin: humedad relativa mnima durante la semana anterior. Es de tipo double.
HumMax: humedad relativa mxima durante la semana anterior. Es de tipo double.
LluviaAcuSemana: lluvia acumulada, en mm, durante la semana anterior. Es de tipo
double.
LluviaAcu2Semanas: lluvia acumulada, en mm, durante las dos semanas anteriores. Es
de tipo double.
LluviaAcu3Semanas: lluvia acumulada, en mm, durante las tres semanas anteriores. Es
de tipo double.
LluviaAcuAno: lluvia acumulada, en mm, desde el inicio del ao. Es de tipo double.
LluviaAcuDesdeDesborre: lluvia acumulada, en mm, desde la fecha de desborre. Es
de tipo double.
LluviaAcuHace2Semanas: lluvia acumulada, en mm, durante la penltima semana. Es
de tipo double.
LluviaAcu2Hace2Semanas: lluvia acumulada, en mm, durante la penltima y
antepenltima semana. Es de tipo double.
30

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA


LluviaAcuEntreDesborreYFloracion: lluvia acumulada, en mm, entre la fecha de

desborre y la fecha de floracin. Es de tipo double.


LluviaAcuEntreFloracionYCuajado: lluvia acumulada, en mm, entre la fecha de

floracin y la fecha de cuajado. Es de tipo double.


LluviaAcuEntreCuajadoYEnvero: lluvia acumulada, en mm, entre la fecha de

cuajado y la fecha de envero. Es de tipo double.


LluviaAcuEntreEnveroYVendimia: lluvia acumulada, en mm, entre la fecha de

envero y la fecha de vendimia. Es de tipo double.


TemMedia: temperatura media, en grados centgrados, de la semana anterior. Es de

tipo double.
TemMin: temperatura mnima, en grados centgrados, de la semana anterior. Es de tipo

double.
TemMax: temperatura mxima, en grados centgrados, de la semana anterior. Es de
tipo double.
VelMediaKmh: velocidad media del viento, en Km/h, durante la semana anterior. Es
de tipo double.
VelMaxKmh: velocidad mxima del viento, en Km/h, durante la semana anterior. Es
de tipo double.
SumaTemMedDiarias: suma de las temperaturas medias, en grados centgrados, desde
el inicio del ao. Es de tipo double.
DiasTemMayorMax40: cantidad de das con una temperatura mxima superior a
cuarenta grados centgrados desde el inicio del ao. Es de tipo double.
DiasTemMayorMed18Maduracion: cantidad de das con una temperatura media
superior a dieciocho grados centgrados desde el inicio del ao. Es de tipo double.
DiasTemMayorMax30Maduracion: cantidad de das con una temperatura mxima
superior a treinta grados centgrados durante la poca de maduracin. Es de tipo double.
DiferenciaMedTemMaxyMinDiariaMaduracion: media entre la diferencia entre las
temperaturas mnimas y mximas diarias durante la poca de maduracin. Es de tipo
double.
GradoAlcohol: el grado alcohlico de la parcela, es la variable de salida del modelo
predictivo. Es de tipo double.
La clave primaria son los campos FechaInicio y CodeEstacion.

3.1.2.4. Tabla datosnoprocesados


Para el uso del modelo predictivo es necesario un conjunto de datos compuestos por treinta
variables para realizar el entrenamiento del modelo predictivo, por lo que, se han
introducido en la base de datos. Las variables se calculan a partir de los datos
meteorolgicos, dichas variables y sus tipos son:
CodeEstacion: para identificar la estacin meteorolgica donde se ha realizado la
captura de los datos. Es de tipo int de longitud 4 y este campo es una clave fornea del
campo CodeEstacion de la tabla estaciones.
Variedad: variedad de la uva plantada en la via. Es de tipo varchar de longitud 25.
Anio: ao cuando se plant la via. Es de tipo double.
Cota: altitud, en metros, de la via. Es de tipo double.
Peso100Granos: peso de cien granos de uva. Es de tipo double.
Dir: direccin del viento dominante durante la semana anterior. Es de tipo varchar de
longitud 5.
HumMedia: humedad relativa media durante la semana anterior. Es de tipo double.
HumMin: humedad relativa mnima durante la semana anterior. Es de tipo double.
HumMax: humedad relativa mxima durante la semana anterior. Es de tipo double.

31

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA


LluviaAcuSemana: lluvia acumulada, en mm, durante la semana anterior. Es de tipo

double.
LluviaAcu2Semanas: lluvia acumulada, en mm, durante las dos semanas anteriores. Es

de tipo double.
LluviaAcu3Semanas: lluvia acumulada, en mm, durante las tres semanas anteriores. Es

de tipo double.
LluviaAcuAno: lluvia acumulada, en mm, desde el inicio del ao. Es de tipo double.
LluviaAcuDesdeDesborre: lluvia acumulada, en mm, desde la fecha de desborre. Es

de tipo double.
LluviaAcuHace2Semanas: lluvia acumulada, en mm, durante la penltima semana. Es

de tipo double.
LluviaAcu2Hace2Semanas: lluvia acumulada, en mm, durante la penltima y

antepenltima semana. Es de tipo double.


LluviaAcuEntreDesborreYFloracion: lluvia acumulada, en mm, entre la fecha de

desborre y la fecha de floracin. Es de tipo double.


LluviaAcuEntreFloracionYCuajado: lluvia acumulada, en mm, entre la fecha de

floracin y la fecha de cuajado. Es de tipo double.


LluviaAcuEntreCuajadoYEnvero: lluvia acumulada, en mm, entre la fecha de

cuajado y la fecha de envero. Es de tipo double.


LluviaAcuEntreEnveroYVendimia: lluvia acumulada, en mm, entre la fecha de

envero y la fecha de vendimia. Es de tipo double.


TemMedia: temperatura media, en grados centgrados, de la semana anterior. Es de

tipo double.
TemMin: temperatura mnima, en grados centgrados, de la semana anterior. Es de tipo

double.
TemMax: temperatura mxima, en grados centgrados, de la semana anterior. Es de

tipo double.
VelMediaKmh: velocidad media del viento, en Km/h, durante la semana anterior. Es

de tipo double.
VelMaxKmh: velocidad mxima del viento, en Km/h, durante la semana anterior. Es

de tipo double.
SumaTemMedDiarias: suma de las temperaturas medias, en grados centgrados, desde

el inicio del ao. Es de tipo double.


DiasTemMayorMax40: cantidad de das con una temperatura mxima superior a

cuarenta grados centgrados desde el inicio del ao. Es de tipo double.


DiasTemMayorMed18Maduracion: cantidad de das con una temperatura media

superior a dieciocho grados centgrados desde el inicio del ao. Es de tipo double.
DiasTemMayorMax30Maduracion: cantidad de das con una temperatura mxima

superior a treinta grados centgrados durante la poca de maduracin. Es de tipo double.


DiferenciaMedTemMaxyMinDiariaMaduracion: media entre la diferencia entre las

temperaturas mnimas y mximas diarias durante la poca de maduracin. Es de tipo


double.
GradoAlcohol: el grado alcohlico de la parcela, es la variable de salida del modelo
predictivo. Es de tipo double.
Esta tabla, al final, slo se usar para realizar pruebas del buen funcionamiento del cdigo
para ejecutar el modelo predictivo, ya que inicialmente se esperaba su uso para dicho
cdigo.

3.1.2.5. Tabla usuarios


Para que los usuarios puedan registrarse y utilizar las diferentes utilidades disponibles
debern almacenarn los siguientes datos y sus tipos:
32

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA


Usuario: nombre nico con el que se identificar al usuario y con el que iniciar la

sesin en la Web, por lo tanto, es la clave primaria. Es de tipo varchar de longitud 25.
Contrasea: contrasea para identificarse e iniciar sesin. Es de tipo varchar de

longitud 150.
Nombre: nombre del usuario. Es de tipo varchar de longitud 25.
Primer apellido: primer apellido del usuario. Es de tipo varchar de longitud 25.
Segundo apellido: segundo apellido del usuario. Es de tipo varchar de longitud 25.
Email: correo electrnico del usuario, para enviarle la confirmacin del registro. Es de

tipo varchar de longitud 25.

3.1.2.6. Tabla parcelas


Para facilitar el uso del modelo predictivo los usuarios registrados podrn introducir sus
parcelas (vias) y, de esta forma, no necesitarn introducir cada vez los datos.
Los datos almacenados referentes a las parcelas y sus tipos son:
Usuario: usuario al que pertenece la parcela. Es de tipo varchar de longitud 25 y este
campo es una clave fornea del campo Usuario de la tabla usuarios.
Nombre: nombre o identificacin de la parcela. Es de tipo varchar de longitud 25.
CodeEstacion: referente a la estacin (es decir, a la zona) ms cercana o a la que
pertenezca. Es de tipo int de longitud 4 y este campo es una clave fornea del campo
CodeEstacion de la tabla estaciones.
Latitud: distancia desde el ecuador hasta donde se encuentra la estacin meteorolgica.
Es de tipo int de longitud 15.
Longitud: distancia desde el meridiano cero hasta donde se encuentra la estacin
meteorolgica. Es de tipo int de longitud 15.
Altura: distancias desde el nivel del mar hasta donde se encuentra la estacin
meteorolgica. Es de tipo int de longitud 15.
Variedad: variedad de uva plantada en la parcela. Es de tipo varchar de longitud 150.
Anioplantacion: ao en el que se llev a cabo la plantacin de la parcela. Es de tipo int
de longitud 4.
Fechadesborre: fecha aproximada del comienzo del desborre. Es de tipo date.
El trmino desborre se utiliza para referirse al momento en que comienza a brotar, se
trata de la primera manifestacin del crecimiento y se produce cuando en la primavera
las yemas comienzan a hincharse, entonces las escamas que las recubren se abren y
aparece al exterior la borra (sustancia algodonosa y parduzca), de ah el nombre
desborre.
Fechafloracion: cuando comienzan a florecer las flores de la vid, que son blancas y
minsculas. Es de tipo date.
A finales de mayo o principios de junio aparecen los embriones de las flores y la
floracin se produce en pleno mes de junio.
Fechacuajado: fecha aproximada del comienzo del cuajado. Es de tipo date.
El trmino cuajado hace referencia a cuando la flor de la vid ha sido fecundada y da
lugar a la baya.
Fechaenvero: fecha aproximada del comienzo del envero. Es de tipo date.
El envero es la poca de la coloracin de la uva, si la variedad es blanca, del verde
pasar al amarillo, mientras que, si se trata de una variedad tinta, del verde pasar al
rojo claro que se ir oscureciendo posteriormente.
Fechavendimia: fecha aproximada del comienzo de la vendimia. Es de tipo date.
La clave primaria son los campos Usuario y Nombre, ya que un usuario puede haber
introducido varias parcelas.

33

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

3.2. Diseo del Servicio Web


Para el diseo de las interfaces de la web se especificaron varias normas:
Simplicidad y facilidad de uso.
Uso de colores claros (blanco y tonos de rojo).
Creacin de una estructura comn para todas las web, pero que a su vez incluya los
elementos necesarios para adaptarse a cada una de las funcionalidades de los diferentes
tipos de web.
Uso de CSS3 para definir el aspecto y formato de las webs.
Para cumplir los requisitos anteriores se decidi dividir la web en cuatro secciones:
Parte superior: que contendr la cabecera de la web, el formulario de autentificacin y el
men de navegacin principal (con las secciones Inicio, Grficos, Maduracin,
Registro y Zona Privada).
Parte izquierda: que contendr el men correspondiente a cada una de las diferentes
secciones.
Parte central y parte derecha: que contendr la informacin a mostrar.
Parte inferior: que contendr el pie de la web.

Figura 20. Diseo General de la Interfaz

El diseo final de la web fue el siguiente:

Figura 21. Diseo Final (Pgina Principal)

34

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

CAPTULO 4:
IMPLEMENTACIN
DEL SISTEMA

35

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

4. Implementacin del Sistema


En este captulo mostrar alguno de los aspectos ms importantes de la fase de implementacin
del sistema. Para ello usar varios fragmentos de cdigo.

4.1. Programacin de la Base de Datos


En esta seccin se hace referencia a la programacin de funcionalidades relacionadas con la
introduccin de datos en la base de datos.

4.1.1. Datos Meteorolgicos


Debido a que (1) los datos referentes a la meteorologa se encuentran almacenados en un
archivo RData y (2) que son cerca de 63.000 registros fue necesario desarrollar una funcin
para realizar la lectura de dichos datos del archivo y la insercin en la base de datos. A
continuacin se muestra el fragmento de cdigo en R que realiza dicha funcin:

Con el fin de realizar la conexin entre R y la base de datos se us la librera de R


RODBC, que utiliza el ODBC de MySQL (en el cdigo anterior se hacer referencia a l
con el nombre local, que es el nombre asignado al ODBC al definirlo), para llevar a cabo
dicha conexin:

Figura 22. ODBC de MySQL

4.1.2. Datos Estaciones


Los datos referentes a las estaciones meteorolgicas estn almacenados en un archivo CSV.
A continuacin el fragmento de cdigo en R que realiza dicha funcin:
36

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

4.1.3. Generar CSV


Tambin se program la funcionalidad para a partir de un archivo RData generar un CSV,
aunque no se lleg a utilizar. A continuacin, figura el fragmento de cdigo en R que realiza
dicha funcin:

4.2. Programacin del Servicio Web


En esta seccin se hace referencia a la programacin de funcionalidades relacionadas con el
Servicio Web.

4.2.1. Grficos
En los requisitos iniciales se especificaba que para el desarrollo de los grficos se utilizara
Adobe Flash, pero para su utilizacin se encontraron los siguientes inconvenientes:
Esta tecnologa est siendo utilizada cada vez menos.
No es compatible con dispositivos mviles.
Los usuarios necesitan tener instalado el plugin correspondiente.
Aumenta el tiempo de carga de las pginas.
Es necesario un tiempo para desarrollar los grficos y su funcionalidad.
Debido a estos inconvenientes, se decidi cambiar dicho requisito y utilizar otra tecnologa
para su desarrollo, se probaron varias pero la gran mayora al final se basaban en Adobe
Flash (ya que utilizaban el propio lanzador de Flash para su publicacin, aunque se utilizaran
otros lenguajes para su desarrollo) y finalmente se decidi utilizar la librera de cdigo
abierto Flot (www.flotcharts.org).
Flot es una librera grfica para JQuery basada en Java Script y sus caractersticas
principales son:
Buen rendimiento
Gran cantidad de grficos diferentes disponibles (lneas, barras, circular, de rea, etc.).
Plugins para utilizar Flot en distintos entornos de programacin.
Mltiples funcionalidades (actualizacin en tiempo real, Ajax, etc.).
Compatible con mltiples navegadores y con dispositivos mviles.
Grficos exportables (PNG, JPEG, etc.).
Soporta CSS.

37

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Figura 23. Ejemplo de Grfico con Flot

Seguidamente, se mostrar el cdigo Java Script para crear los grficos a partir de los datos
obtenidos del modelo predictivo:

4.2.2. Uso del Modelo Predictivo


Para usar el modelo predictivo son necesarios realizar dos pasos: el primero es procesar los
datos meteorolgicos para obtener las treinta variables de entrada que necesita el modelo y el
segundo es ejecutar el modelo propiamente dicho y obtener la previsin.
38

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

4.2.2.1. Procesar Datos


Lo primero es procesar los datos meteorolgicos y, de esta forma, obtener las variables de
entrada necesarias para la ejecucin del modelo. Para llevar esto a cabo ejecutamos un
archivo bat, pasndole los parmetros necesarios y almacenamos los datos devueltos:

Este archivo bat lo que realmente hace es ejecutar un cdigo escrito en R (almacenado en
un archivo .R) en lnea de comandos del propio R. Se utiliza un archivo bat, ya que para
ejecutar R es necesario indicar la ubicacin donde se encuentra instalada dicha aplicacin y
de esta forma es mucho ms sencillo realizar dicho cambio. A continuacin se muestra el
cdigo del bat:

El cdigo en R que realiza el proceso de los datos es el siguiente:

39

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

El resultado de este proceso es el siguiente:

Figura 24. Ejemplo de Datos Procesados

4.2.2.2. Ejecutar Modelo Predictivo


Una vez obtenidos estos datos ya podemos ejecutar el modelo predictivo, para ello se
ejecuta un archivo jar y obtenemos los resultados del grado alcohlico que posteriormente
se usarn para generar el grfico:

El cdigo Java a partir del cual se gener el archivo jar es el siguiente:

40

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Una vez ejecutado el modelo los datos obtenidos seran los siguientes:

Figura 25. Ejemplo de Previsin

Y el grfico generado a partir de ellos quedara de la siguiente forma:

Figura 26. Ejemplo Grfico de Previsin

4.2.3. Registro de Usuarios


Para llevar a cabo el registro de un usuario en la web se han tenido en cuenta los siguientes
aspectos:

4.2.3.1. Uso de Captchas


Con el propsito de comprobar que quien se est intentando registrar es una persona y no
una mquina se utiliza el sistema de captchas. Para ello se emplea la librera de cdigo
abierto Secureimage (www.phpcaptcha.org). El cdigo para insertarlo en el formulario
de registro sera el que se muestra a continuacin:

El cdigo de validacin del captcha:

41

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Y el resultado final:

Figura 27. Ejemplo Formulario de Registro

4.2.3.2. Correo de Confirmacin


Al realizar el registro de un nuevo usuario, se enva un correo a su direccin de correo
electrnico para confirmarle su registro, para ello se utiliza la librera de cdigo abierto
PHPMailer (phpmailer.worxware.com). El cdigo para usarlo sera:

4.2.3.3. Contrasea del Usuario


Para que la contrasea del usuario no se almacene de forma clara en la base de datos y, de
esta forma, slo l tuviera conocimiento de la misma se decidi almacenarla codificada.
Para codificarla se utiliz la codificacin SHA1 y el cdigo sera:

42

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Y en la base de datos quedara almacenado de la siguiente forma:

Figura 28.Contraseas Almacenadas

4.2.4. Otras Funcionalidades


A continuacin, se describen otras funcionalidades a tener en cuenta:

4.2.4.1. Gestin de Parcelas


Para mostrar los datos de las parcelas y poder gestionarlas se utiliza la librera de cdigo
abierto phpGrid (phpgrid.com). El cdigo para usarlo sera:

43

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Y el resultado final:

Figura 29. Ejemplo Formulario Listado Parcelas

Desde la tabla generada se podra: ordenar por columna, buscar por columna,
mostrar/ocultar columnas, cambiar el tamao de las columnas, cambiar el nmero de filas a
mostrar por pgina, seleccin mltiple, editar los datos de las parcelas y eliminar parcelas.

4.2.4.2. Comprobar Navegador


Al utilizar HTML5 y sobre todo algunos tipos de input (type date) slo algunos
navegadores y ciertas versiones de los mismos son compatibles:
Internet Explorer v11.0 o superior.
Google Chrome v20.0 o superior.
Opera v10.6 o superior.
Safari v5.0 (500.0) o superior.
Para informar a un usuario que est usando un navegador incompatible y que cierta
funcionalidad puede que no se ejecute de forma correcta (tambin verificar que el
navegador tenga habilitada la ejecucin de cdigo Java Script), se cre el cdigo para
identificar el navegador y versin:

Y, por ltimo, verificar que est entre los navegadores que soportan las funciones
anteriormente mencionadas y que tiene habilitada la ejecucin del cdigo Java Script:

44

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Ahora podemos comprobar el resultado de las funciones anteriores al acceder a la web con
un navegador que no soporta HTML5 y con la ejecucin deshabilitada del cdigo Java
Script:

Figura 30. Comprobar Navegador y Java Script

4.2.4.3. Codificar Datos


Para evitar que el paso de parmetros entre webs sea en claro se cre una funcin para
codificarlos y decodificarlos, el cdigo sera:

Y el paso de los parmetros sera de la siguiente forma:

Figura 31. Pase de Variables

45

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

CAPTULO 5:
PRUEBAS

46

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

5. Pruebas
Mientras se iban implementando el Servicio Web, se realizaron pequeas pruebas para
comprobar que ciertas funcionalidades eran correctas y una vez finalizado su desarrollo se
disearon las siguientes pruebas para verificar su buen funcionamiento:

5.1. Diseo de las Pruebas Aplicadas al Servicio Web


Prueba
Descripcin
Comprobar el correcto visionado Verificar que la web se vea y se ejecute de forma
correcta en todos los navegadores y en los dispositivos
y funcionalidad
mviles.
Comprobar el enlace con la Base Verificar que se realiza con xito el establecimiento de
la conexin con la base de datos, as como la insercin,
de Datos
la lectura, la modificacin y el borrado de los datos.
Para ello se comprobarn las diferentes formas de
conexin:
Conexin en PHP.
Conexin del ODBC de MySQL.
Conexin de la librera RODBC en R.
Conexin en Java.
Comprobar el procesamiento de Verificar que se obtienen las variables necesarias para
el uso del modelo predictivo y que se almacenan en la
datos meteorolgicos
bases de datos.
Comprobar la correcta ejecucin Verificar que el cdigo generado para el uso del
modelo devuelva los valores correctos comparndolos
del modelo predictivo
con los obtenidos del modelo ejecutado en WEKA.
Comprobar la generacin de los Verificar que los grficos se generan de forma correcta,
tanto los generados a partir de los datos meteorolgicos
grficos
como los generados a partir del modelo predictivo.
Comprobar el registro de Verificar que el registro de un usuario se hace de forma
correcta y se realizan todas las funciones que ello
usuarios
engloba (verificar captcha, verificar datos, insertar
datos en la base de datos, enviar mail de confirmacin,
etc.).
Verificar que el inicio y fin de sesin se realiza de
Comprobar la gestin de sesin
forma correcta.
Comprobar la gestin de los Verificar que el usuario puede acceder, modificar y
guardar los cambios sobre los datos introducidos al
datos del usuario
registrarse.
Comprobar la gestin de Verificar que el usuario puede aadir, acceder,
modificar, guardar y eliminar los datos relacionados
parcelas
con las parcelas.

47

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

5.2. Resultados de las Pruebas Aplicadas al Servicio Web


Prueba
Resultado
Comprobar el correcto visionado Esta prueba se fue realizando mientras se iba
desarrollando el servicio web y al finalizar el desarrollo
y funcionalidad
en los siguientes navegadores y dispositivos mviles:
Google Chrome v27.0.1.
Mozilla Firefox v21.0.
Internet Explorer v10.0.
Opera v12.15.
Safari v5.1 (753.57).
Sony Xperia (con los navegadores Google Chrome,
Mozilla Firefox y Opera).
El resultado de esta prueba fue correcto, ya que las
webs se vean de forma correcta (a excepcin de los
elementos de HTML5 que no son compatibles,
indicados anteriormente, con dichos navegadores) y
toda la funcionalidad en todos los navegadores.
Comprobar el enlace con la Base Esta prueba se realiz una vez para cada tipo de
conexin para comprobar que el enlace entre el
de Datos
Servicio Web y la Base de Datos es correcto.
El resultado de esta prueba fue correcto, ya que se pudo
acceder a los datos almacenados en la Base de Datos y
realizar insercin, acceso, modificacin y eliminacin.
Comprobar el procesamiento de Esta prueba se realizo varias veces para verificar que
los datos se procesaban correctamente a partir de
datos meteorolgicos
diferentes datos.
El resultado de esta prueba fue correcto.
Comprobar la correcta ejecucin Esta prueba se realizo varias veces para verificar que
los datos obtenidos a partir del modelos eran correctos
del modelo predictivo
comparndolos con la ejecucin del modelo en WEKA.
El resultado de esta prueba fue correcto.
Comprobar la generacin de los Esta prueba se realizo varias veces para verificar que
los grficos se generaban de forma correcta a partir de
grficos
los datos meteorolgicos y de los datos obtenidos a
partir del modelo predictivo.
El resultado de esta prueba fue correcto.
Comprobar el registro de Esta prueba se realizo varias veces, incluyendo el uso
de datos incorrectos, para verificar que el registro de
usuarios
usuarios se realizaba de forma correcta (incluyendo la
verificacin de captcha, verificacin de los datos,
insercin de los datos en la base de datos, envo y
recepcin del mail de confirmacin, etc.).
El resultado de esta prueba fue correcto.
Esta prueba se realizo varias veces, incluyendo el uso
Comprobar la gestin de sesin
de datos incorrectos, para verificar que el inicio y fin de
sesin se realizaba correctamente. Tambin se verific
que los usuarios no autentificados no pudieran acceder
a la parte privada de la web y los usuarios logueados si
pudieran acceder a dicha parte.
El resultado de esta prueba fue correcto.

48

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Comprobar la gestin de los Esta prueba se realizo varias veces para verificar que el
usuario pudiera acceder y modificar sus datos.
datos del usuario
El resultado de esta prueba fue correcto.
Comprobar la gestin de Esta prueba se realizo varias veces para verificar que el
usuario pudiera insertar, acceder, modificar y eliminar
parcelas
parcelas.
El resultado de esta prueba fue correcto.

49

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

CAPTULO 6:
CONCLUSIONES

50

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

6. Conclusiones
En este apartado expondr las conclusiones a las que he llegado tras la finalizacin del proyecto:

6.1. Conclusin 1
La primera conclusin a la que he llegado es que la planificacin estimada y la real no han
coincidido, ya que la real ha sido mayor que la estimada, por lo que se ha utilizado todo el
tiempo extra que se especific en la planificacin; tanto el asignado a cada tarea como el que
se dejo de forma independiente, aunque el proyecto finaliz en el plazo acordado.
En el siguiente grfico veremos la distribucin, en horas, de cada una de las diferentes tareas:
Horas
160
140
120
100
80
60
40
20
0

140

40
20

35

20

35
10

Figura 32.Distribucin en Horas Real

A continuacin, veremos el porcentaje de horas, de cada una de las diferentes tareas:


Definicin y Planificacin

Porcentajes
3%

7%

12%

Formacin
13%

7%

Anlisis del Sistema


Diseo

46%

Implementacin
12%

Pruebas
Documentacin

Figura 33. Distribucin en Porcentaje Real

6.2. Conclusin 2
Una vez finalizado el desarrollo del proyecto he llegado a la conclusin que realizar un
proyecto de este alcance y desde cero conlleva un gran esfuerzo, adems hay que cumplir los
plazos especificados y los requisitos definidos.
Ha sido interesante el desarrollar parte del proyecto en diferentes plataformas, software y/o
lenguajes de programacin como HTML, CSS, PHP, MySQL, Java Script, Java, R, etc. y
combinarlas para formar un nico proyecto.
A parte de los problemas encontrados, tambin he tenido la posibilidad de poner en prctica
los conocimientos adquiridos a lo largo de la carrera y de adquirir otros durante el desarrollo
de este proyecto, as como comprobar cmo se trabaja en un proyecto real.

51

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

6.3. Conclusin 3
Durante el desarrollo del proyecto fueron apareciendo nuevas funcionalidades que pueden
aadirse a una futura ampliacin del mismo. Estas funcionalidades son:
Aadir la captura de datos meteorolgicos para que se vayan aadiendo de forma diaria y
automtica, ya que actualmente slo se dispone de los datos de los aos 2007 a 2011.
Poder almacenar los datos generados en las previsiones para cada parcela y que el usuario
pueda compararlos segn se van aadiendo los nuevos datos meteorolgicos.
Permitir una mayor interaccin con los grficos, como puede ser realizar zoom sobre el
grfico cambiar la distribucin, ya que en la versin actual los grficos relacionados con la
meteorologa se agrupan por meses y los de la previsin por semanas.

52

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

CAPTULO 7:
BIBLIOGRAFA

53

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

7. Bibliografa
En este apartado se listar la bibliografa utilizada para el desarrollo del proyecto:
[Tesis Doctoral] Fernndez Martnez, Roberto. Utilizacin de Redes de Sensores
Inalmbricas y Tcnicas de Aprendizaje Automtico para la Obtencin de Conocimiento
til en Entornos Vitivincolas. Universidad de la Rioja. Febrero 2012.
[Apuntes] Martnez De Pisn, Francisco Javier. Asignatura Ingeniera del Conocimiento.
Universidad de la Rioja. Curso 2012-2013.
[Pgina Web] Worx Internacional INC - PHPMailer. http://phpmailer.worxware.com
[Pgina Web] phpGrid. http://phpgrid.com
[Pgina Web] Flot. http://www.flotcharts.org
[Pgina Web] Secureimage. http://www.phpcaptcha.org
[Pgina Web] MySQL Developer Zone. http://dev.mysql.com
[Pgina Web] The Comprehensive R Archive Network. cran.r-project.org
[Pgina Web] Weka Wiki. http://weka.wikispaces.com
[Pgina Web] Weka Data Mining. http://www.cs.waikato.ac.nz/ml/weka
[Pgina Web] PHP - Manual. http://www.php.net/manual
[Pgina Web] w3schools. http://www.w3schools.com
[Pgina Web] Desarrollo Web. http://www.desarrolloweb.com
[Pgina Web] Wikipedia. http://es.wikipedia.org
[Pgina Web] W3C Espaa. http://www.w3c.es
[Pgina Web] W3C. http://www.w3.org

54

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

55

OSCAR MEZQUITA DOMNGUEZ

INSTALACIN Y
DESPLIEGUE DEL
SERVICIO WEB

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

1. Requisitos
Los requisitos previos para la instalacin y puesta en marcha de la Web son:
Servidor Apache, con el protocolo SSL habilitado.
Servidor MySQL.
ODBC de MySQL.
Instalacin del programa R.

2. Instalacin
Lo primero sera crear la base de datos controlmaduracion en MySQL y ejecutar el cdigo
SQL contenido en el archivo controlmaduracion.sql, que contiene las tablas, relaciones, datos
y algn ejemplo (usuarios y parcelas) que son necesarias para el funcionamiento de la web.
Una vez creada la base de datos configuramos el ODBC de MySQL, con local como nombre
del conector (este nombre es obligatorio) y controlmaduracion como la base de datos con la
que se conectar. El resto de datos (servidor, puerto, usuario y contrasea) se configurarn en
funcin de los datos del servidor Apache y del servidor MySQL.
Un ejemplo sera el siguiente:

Una vez que tenemos la base de datos preparada podemos desplegar la web en el servidor
Apache, manteniendo la estructura de carpetas y realizando una serie de modificaciones.
Lo primero sera modificar el archivo ProcesarDatos.bat, que se encuentra en la raz de la
web, y cambiarla la direccin que contiene por la direccin que corresponde a la instalacin del
programa R, por ejemplo:

Por ltimo, sera modificar el archivo reg.php, que se encuentra en ../cod/, y cambiar el
usuario y contrasea que se utilizaran para el envo de los emails (debe usarse una cuenta de
Gmail, si no es as, se deberan modificar varios valores ms como el host y el puerto), y el
resultado sera el siguiente:

OSCAR MEZQUITA DOMNGUEZ

WEB BASADA EN MODELOS PREDICTIVOS PARA EL CONTROL DE LA MADURACIN DE LA UVA

Una vez realizados los cambios anteriores ya se podra acceder a la web y utilizar todas sus
funcionalidades, para ello se accedera a travs de la pgina de inicio (index.php).

OSCAR MEZQUITA DOMNGUEZ

También podría gustarte