100
Tesis de Grado Framework para facilitar la integración de métodos matemáticos y aplicarlos a la gestión por indicadores Por Corvi Emiliano, Fanjul Luciano. Trabajo de Tesis para optar al Título de Ingeniero de Sistemas. Director Dr. Roberto Gustavo Illescas. CoDirector Mg Alejandro Ruiz (Universidad de Piura, Perú). Universidad Nacional del Centro de la Provincia de Buenos Aires Facultad de Ciencias Exactas Tandil, 3/06/2016 1

Tesis de Grado - UNICEN

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tesis de Grado - UNICEN

Tesis de Grado

Framework para facilitar la integración de métodos matemáticos y aplicarlos a la gestión por indicadores

Por

Corvi Emiliano, Fanjul Luciano.

Trabajo de Tesis para optar al Título de Ingeniero de Sistemas.

Director Dr. Roberto Gustavo Illescas.

Co­Director

Mg Alejandro Ruiz (Universidad de Piura, Perú).

Universidad Nacional del Centro de la Provincia de Buenos Aires Facultad de Ciencias Exactas

Tandil, 3/06/2016

1

Page 2: Tesis de Grado - UNICEN

Índice de Contenido

Índice de Figuras Índice de Tablas Resumen 1 Introducción

1.1 Introducción 1.2 Estado del Arte 1.3 Objetivo 1.4 Organización del documento 1.5 Cronograma del proyecto

2 Estado del Arte 2.1 Introducción 2.2 Herramientas de Software

2.2.1 Herramientas de Software Matemáticas 2.2.1.1 Scilab 2.2.1.2 Matlab 2.2.1.3 InfoStat 2.2.1.4 R

2.2.2 Herramientas de Softwares de Indicadores 2.2.2.1 Tableau 2.2.2.2 Qlik Sense

2.3 Comparaciones 2.4 Conclusión

3 Diseño e Implementación 3.1 Introducción 3.2 Aspectos de implementación 3.3 Descripción del sistema actual 3.4 Descripción de la implementación 3.5 Base de datos

3.5.1 Base de datos abstracta 3.5.2 Implementación de la base de datos

4 Casos de Estudio 4.1 Introducción 4.2 Validación de los métodos en herramientas de software 4.3 Caso de estudio aplicado en el prototipo 4.4 Anexo a casos de estudio

4.4.1 Métodos matemáticos para pronóstico utilizados 4.4.2 Caso de estudio sobre finanzas

4.4.2.1 Configuración general para todos los métodos 4.4.2.2 Datos de Finanzas, primer escenario: todos los datos disponibles como subconjunto de datos 4.4.2.3 Datos de Finanzas, segundo escenario: datos del último período como subconjunto de datos

2

Page 3: Tesis de Grado - UNICEN

4.4.3 Caso de estudio sobre indicadores académicos 4.4.3.1 Configuración general para todos los métodos 4.4.3.2 Académicos­Primer escenario : período 2011 como subconjunto de datos 4.4.3.3 Académicos­Segundo escenario : período 2012 como subconjunto de datos

5 Conclusión 6 Trabajo futuro 7 Bibliografía

3

Page 4: Tesis de Grado - UNICEN

Índice de Figuras

Figura 1: Entorno de ejecución de SCILAB durante las pruebas del indicador “Cantidad de egresados en Ingeniería de Sistemas” para el método de Markov

11

Figura 2: Entorno de ejecución de INFOSTAT durante las pruebas del indicador “Cantidad de egresados en Ingeniería de Sistemas”

12

Figura 3: Entorno de ejecución al iniciar MATLAB 13

Figura 4: Prototipo del framework 16

Figura 5: Diagrama de Gantt. Origen y final de las diferentes unidades mínimas de trabajo 19

Figura 6: Conectividad ofrecida por Scilab en su página web 22

Figura 7: Ejemplo de la función rand en Matlab y su aplicación y explicación en Scilab 23

Figura 8: Ejemplo de un gráfico y su código en Scilab 24

Figura 9: Gráfica en 3D de MatLab 26

Figura 10: Operaciones básicas con matrices 27

Figura 11: Intérprete de R, InfoStat 30

Figura 12: Gráficos de R 33

Figura 13: Servidores con los cuales Tableau Desktop ofrece conectividad 35

Figura 14: Diferentes gráficos que brinda Tableau Desktop 36

Figura 15: Ejemplo de un gráfico de barras realizado con la herramienta Tableau Desktop 37

Figura 16: Conectividad de Qlik Sense Desktop 39

Figura 17: Ejemplo de gráficos de la herramienta Qlik Sense Desktop 40

Figura 18: Sistema en general 45

Figura 19: UCM: conectar con la base de datos y mostrar en pantalla 47

Figura 20: UCM: Ejecución de métodos matemáticos en R 48

Figura 21: UCM: Error en el código interpretado 48

Figura 22: UCM: Descargar gráfico obtenido a través de código en R 49

Figura 23: Diagrama de módulos: modelo perteneciente al MVC utilizado en el diseño de la herramienta

50

Figura 24: Tipo de resultado matriz de dobles 51

Figura 25: Tipo de resultado Vector de String 51

Figura 26: Diagrama de clases, patrón de diseño cadena de responsabilidades 52

4

Page 5: Tesis de Grado - UNICEN

Figura 27: Diagrama de clases, mapeo entre interfaz gráfica y modelo 53

Figura 28: Diagrama de Entidad y Relaciones (ERD) de la Base de Datos 55

Figura 29: Indicador tipo semáforo 58

Figura 30: Archivo de configuración utilizado por Hibernate 63

Figura 31: Diagrama de clases consultas Hibernate 64

Figura 32: Clase FactoryConsultas 65

Figura 33: Ventana emergente al hacer Drag & Drop para utilizar los valores de la tabla 67

Figura 34: Script en R del método Mínimos Cuadrados 67

Figura 35: Resultado obtenido en el prototipo con el método Mínimos Cuadrados 68

Figura 36: Subconjunto de datos del indicador “Crédito total en monto” para el primer escenario 69

Figura 37: Comparación entre valores históricos y valores pronosticados 70

Figura 38: Subconjunto de datos del indicador “Crédito total en monto” para el primer escenario 72

Figura 39: Script en R del método Mínimos Cuadrados 74

Figura 40: Resultado obtenido en el prototipo con el método Mínimos Cuadrados 74

Figura 41: Script en R del método de Bayes 76

Figura 42: Resultado obtenido en el prototipo con el método de Bayes 76

Figura 43: Subconjunto de datos, último período del indicador “Crédito total en monto” 78

Figura 44: Script en R del método Mínimos Cuadrados 80

Figura 45: Resultado obtenido en el prototipo con el método Mínimos Cuadrados 80

Figura 46: Script en R del método de Bayes 82

Figura 47: Resultado obtenido en el prototipo con el método de Bayes 82

Figura 48: Subconjunto de datos, período 2011, del indicador “tiempo de carrera (años) en Ing. Sistemas”

85

Figura 49: Script en R del método Mínimos Cuadrados 87

Figura 50: Resultado obtenido en el prototipo con el método Mínimos Cuadrados 87

Figura 51: Script en R del método de Bayes 89

Figura 52: Resultado obtenido en el prototipo con el método de Bayes 89

Figura 53: Subconjunto de datos, período 2012, del indicador “tiempo de carrera (años) en Ing. Sistemas”

91

Figura 54: Resultado obtenido en el prototipo con el método Mínimos Cuadrados 93

5

Page 6: Tesis de Grado - UNICEN

Figura 55: Resultado obtenido en el prototipo con el método de Bayes 94

6

Page 7: Tesis de Grado - UNICEN

Índice de Tablas

Tabla 1: Comparación entre los software más relevantes 14

Tabla 2: Actividades llevadas a cabo a lo largo del trabajo y su duración en semanas 18

Tabla 3: Comparaciones entre las distintas Herramientas de software 42

Tabla 4: Entidad Indicador 56

Tabla 5: Tipo indicador 57

Tabla 6: Estados x tipo indicador 57

Tabla 7: Valor indicador, resultados ilustrativos 57

Tabla 8: Entidad Gráfico 58

Tabla 9: Entidad Persona 59

Tabla 10. Entidad Tablero 59

Tabla 11: Entidad STUmbralesXEstadosXIndicador 59

Tabla 12: Entidad stadosXTipoIndicador 60

Tabla 13: Entidad Tipo indicador 60

Tabla 14: Entidad Valor indicador 60

Tabla 15: Entidad UmbralesXEstadosXIndicador 61

Tabla 16: Entidad Unidades de medida 61

Tabla 17: Comparación de resultados del primer escenario de Markov 73

Tabla 18: Comparación de resultados del primer escenario de Mínimos Cuadrados 75

Tabla 19: Comparación de resultados del primer escenario del método de Bayes 77

Tabla 20: Comparación de resultados del segundo escenario de Markov 79

Tabla 21: Comparación de resultados del primer escenario de Mínimos Cuadrados 81

Tabla 22: Comparación de resultados del primer escenario del método de Bayes 83

Tabla 23: Comparación de resultados del primer escenario de Markov 86

Tabla 24: Comparación de resultados del primer escenario de Mínimos Cuadrados 88

Tabla 25: Comparación de resultados del primer escenario de Markov 92

Tabla 26: Comparación de resultados del primer escenario de Mínimos Cuadrados 93

Tabla 27: Comparación de resultados del primer escenario del método de Bayes 94

7

Page 8: Tesis de Grado - UNICEN

Resumen

El presente trabajo muestra los avances en la construcción de una herramienta de soporte para la realización de métodos matemáticos aplicados sobre una base de datos, que permita analizar con facilidad los resultados mediante diferentes gráficos.

Para lograr este objetivo se ha propuesto el desarrollo de un prototipo utilizando los principios de la programación orientada a objetos, bases de datos y el lenguaje de programación matemático R.

Esto permitirá, al usuario, mediante los resultados obtenidos, autoevaluar su gestión y tomar decisiones correspondientes a partir de la aplicación de métodos matemáticos. Como así también obtener información oportuna, efectiva y legible a través de gráficos.

Posteriormente este análisis será útil para llevar a cabo un estudio y realizar un tratamiento de datos masivos para extraer conclusiones e información relevante.

En este trabajo se presentan los resultados de dos casos de estudios utilizando el prototipo sobre diferentes base de datos, una financiera y la otra con información académica de la carrera Ingeniería de Sistemas de la Universidad Nacional del Centro de la Provincia de Buenos Aires.

Palabras Clave: Indicadores, R, Programación Orientada a Objetos, Bases de

Datos.

8

Page 9: Tesis de Grado - UNICEN

1 Introducción

1.1 Introducción

Los indicadores son descripciones compactas de observaciones, resumidas en números o palabras. Dichas observaciones pueden referirse a un tema concreto, pero también pueden expresar observaciones resumidas sobre un cierto número de cuestiones similares [6].

Los indicadores son luces que comienzan a encenderse para iluminar la organización; el abanico de posibilidades de generar indicadores puede ser amplio, desde los más sencillos a los más sofisticados [1]. Con lo cual se permite evaluar el comportamiento o desempeño de una empresa o unidad organizativa, cuyo resultado, al ser comparada por algún nivel de referencia, nos podrá estar señalando una desviación sobre la cual se tomarán acciones correctivas o preventivas según el caso. Además, se logra observar la situación y las tendencias de cambio generadas en el objeto o fenómeno observado, respecto de objetivos y metas previstas e influencias esperadas.

La información utilizada periódicamente para obtener un seguimiento, muchas veces es calculada por diferentes modelos matemáticos. Estos modelos, arrojan distintos tipos de resultados ya que varían en su forma de procesar los datos de entrada y la manera de mostrar sus soluciones.

Los resultados que se entregan por los métodos matemáticos son difíciles de comprender y visualizar. Por este motivo, se emplean diferentes gráficos para lograr comparaciones y poder tomar decisiones con mayor facilidad. Los gráficos permiten que cualquier persona pueda entender las soluciones arrojadas por los modelos matemáticos sin ser experto en el área. Poder entender estas soluciones con simpleza, posibilita que las decisiones se tomen más rápido y sobre todo, se tiene un respaldo matemático.

Una problemática que surge es que “durante todo proceso de creación de indicadores existe la tendencia a invertir la mayor parte del tiempo en la búsqueda de: qué necesitamos medir, qué queremos medir o bien qué nos están pidiendo que midamos. Una parte de este tiempo se emplea en conocer la disponibilidad de los datos que nos llevan a construir esos indicadores y otra menor en ver la necesidad de desarrollar nuevas bases de datos (BD) sobre aquellos no disponibles”. [1]

9

Page 10: Tesis de Grado - UNICEN

El prototipo desarrollado en este trabajo, facilita la integración de los resultados obtenidos, almacenándolos en una Base de Datos de indicadores, logrando ganar tiempo en aplicaciones futuras sobre los mismos datos. Además, guardando estos resultados, se puede hacer un seguimiento preciso y adecuado para tomar futuras decisiones, como así también, ver el panorama general de la organización.

El prototipo también permite el desarrollo de métodos matemáticos por parte del usuario, lo cual permite un análisis más abierto a las distintas necesidades que se pueden tener en una organización.

1.2 Estado del Arte

A lo largo de nuestra revisión primaria de antecedentes, no hemos encontrado un software libre donde se ensamblan, sencillamente, una Base de Datos, y la posibilidad de ejecutar métodos matemáticos a partir de los elementos que se encuentran en ella. Constatando así, los resultados obtenidos en dichos métodos con los diferentes gráficos aportados por dicha herramienta.

Como menciona Illescas G. en su tesis doctoral [1], “si bien contamos con numerosas aplicaciones que resuelven parte de la problemática, no contamos hasta el momento con una solución integrada que pueda ser transformada en un ambiente propicio para asistir a la toma de decisiones. Las aplicaciones seleccionadas para cubrir las necesidades de análisis con métodos matemáticos no pueden ser integradas entre sí en forma directa ni tampoco volcar los resultados a una base de datos; esto nos limita a sólo poder probar el método en la herramienta elegida y luego aplicar algún procedimiento para completar la base de datos con la complejidad que esto contiene en sí mismo”.

Existen softwares que tratan esta problemática pero de forma parcial. Por ejemplo, para abordar el análisis e implementación de las metodologías de cuadro de mando integral (CMI o BSC por sus siglas en Inglés, Balanced Scorecard Collaborative) y Tableros de Control (TC) con los métodos matemáticos, se trabaja con herramientas disponibles en versiones libres como por ejemplo el software matemático SCILAB y el software estadístico INFOSTAT (provee una versión estudiantil gratuita) que proveen funcionalidades específicas, para poder aplicar sobre los indicadores elegidos. [1]

10

Page 11: Tesis de Grado - UNICEN

La aplicación Scilab es un software para análisis numérico, con un lenguaje de programación de alto nivel para cálculo científico. Las características de Scilab incluyen análisis numérico, visualización 2­D y 3­D, optimización, análisis estadístico, diseño y análisis de sistemas dinámicos, procesamiento de señales, e interfaces con Fortran, Java, C y C++. Scilab tiene su propio lenguaje de programación, orientado a matrices y vectores, con lo cual se requiere un conocimiento básico por parte del usuario de un lenguaje que solamente sirve para esa aplicación. [5]

La página oficial de Scilab cuenta con una documentación detallada de su lenguaje y ofrece a sus usuarios un foro para las distintas consultas que pueden surgir.

Figura 1: Entorno de ejecución de SCILAB durante las pruebas del indicador “Cantidad de

egresados en Ingeniería de Sistemas” para el método de Markov.

Por otra parte, InfoStat es un software para análisis estadístico de aplicación general desarrollado bajo la plataforma Windows. Cubre tanto las necesidades elementales para la obtención de estadísticas descriptivas y gráficos para el análisis exploratorio, como métodos avanzados de modelación estadística y análisis multivariado. Una propiedad casi única entre el software estadístico es la habilidad

11

Page 12: Tesis de Grado - UNICEN

de conectarse con R, una plataforma de desarrollo de algoritmos estadísticos de dominio público de gran crecimiento. [3]

Figura 2: Entorno de ejecución de INFOSTAT durante las pruebas del indicador “Cantidad de egresados

en Ingeniería de Sistemas”.

Otro software de uso masivo para el análisis estadístico es MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es una herramienta de software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows, Mac OS X y GNU/Linux. Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. [4]

Este software, brinda a sus usuarios, al igual que lo hace SCILAB, una sección en su página web oficial con documentación, foros y ejemplos, lo cual ayuda mucho a los clientes para desarrollar sus algoritmos.

12

Page 13: Tesis de Grado - UNICEN

MATLAB es un software pago, con lo que agrega una dificultad para que distintos usuarios la elijan. Por otro lado, provee una licencia estudiantil gratuita por un cierto tiempo determinado.

Figura 3: Entorno de ejecución al iniciar MATLAB.

En el año 2014, en un trabajo realizado en la materia “Cuadro de Mando Integral (CMI)”, realizamos un prototipo donde se desarrolló el algoritmo de Markov utilizando el lenguaje de programación R.

R es un lenguaje de programación interpretado, de distribución libre, bajo Licencia GNU, y se mantiene en un ambiente para el cómputo estadístico y gráfico. Este software corre en distintas plataformas Linux, Windows, MacOS, e incluso en PlayStation 3. El término ambiente pretende caracterizarlo como un sistema totalmente planificado y coherente, en lugar de una acumulación gradual de herramientas muy específicas y poco flexibles, como suele ser con otro software de análisis de datos. [2]

13

Page 14: Tesis de Grado - UNICEN

La Tabla 1, nos permite obtener una comparación entre los distintos software descritos.

Herra­ mienta

Última Versión (Fecha)

Tipo de soft­ ware

Códi­ go abier­ to

Plataforma de Escritorio

Lengua­ je de Progra­ mación

Documen­ tación

Scilab 31­3­15 Gratuito Si Windows, Linux, Mac OS

Propio Si

Info­ Stat

17­6­15 Pago, tiene versión estu­ diantil gratuita

No Windows Conecti­ vidad con R

No, provee cursos pagos.

MatLab 3­9­15 Pago, tiene un período de prueba gratuita

No Windows, Linux, Mac OS. Algunas funcionalidad­es solo disponibles para Windows.

Propio Si

R 14­8­2015 Gratuito Si Linux, Windows, MacOS, e incluso en PlayStation 3

R es un lenguaje de programación

Si

Tabla 1: Comparación entre los software más relevantes. Por lo descrito anteriormente, se puede concluir que hay software

matemáticos disponibles, pero ninguno de ellos soluciona la problemática. “Por ejemplo, los datos a ser analizados no pueden ser leídos directamente de una BD; así es como los datos deben ser previamente procesados desde la BD y adaptados a un formato válido para la herramienta. De forma similar los resultados tampoco pueden ser volcados a una BD sin antes transformarlos o bien elaborar mecanismos de actualización (software)”. [1]

14

Page 15: Tesis de Grado - UNICEN

Además, por lo que se puede apreciar en la Tabla 1, existe la complejidad de aprender nuevos lenguajes de programación para usar tanto SCILAB como MATLAB, y no usar lenguajes conocidos para el desarrollo. Esta última característica, si es brindada por INFOSTAT, que utiliza el lenguaje matemático R, pero la complicación que tiene esta aplicación es que no es gratuita ni tampoco se puede utilizar en distintos ambientes, ya que solo funciona en Windows.

Entonces, por lo relevado, para poder obtener el resultado deseado, se necesitan herramientas diferentes para la integración de datos y métodos matemáticos disponibles en ellas. La mayoría de las veces, tener que integrar dos software distintos acarrea muchos problemas a la hora de la compatibilidad, visualización, manipulación de las bases de datos, configuración, etc.

A continuación se precisa el objetivo y alcance de la propuesta.

1.3 Objetivo

Como objetivo de este trabajo se planificó desarrollar un prototipo el cual fuera fácil de utilizar por parte del analista y que permita integrar métodos matemáticos incorporados por el usuario tomando los datos de entradas directamente de una Base de Datos (BD) de indicadores. Esta BD “es capaz de alojar cualquier tipo de indicadores tal que puedan ser utilizados por los métodos matemáticos y brindar resultados sobre ésta”. [1]

Uno de los propósitos del framework es facilitar el agregado de nuevos métodos matemáticos implementados por el usuario. Estas implementaciones pueden ser reutilizadas, ya que existe la posibilidad de guardar para futuras aplicaciones.

La implementación de los distintos métodos matemáticos sean desarrollados en un lenguaje de programación que sea conocido en el ambiente matemático, logrando que el prototipo pueda ser utilizado fácilmente sin necesidad de tener que aprender una nueva forma de programar.

Se planteó la necesidad de reunir información permanente e integral sobre los datos históricos de los indicadores para que los usuarios puedan llevar un control sobre los distintos períodos analizados.

15

Page 16: Tesis de Grado - UNICEN

Como otro objetivo, se propuso que los usuarios puedan autoevaluar su gestión y tomar decisiones correspondientes a partir de la a aplicación de métodos matemáticos. Esto logra que el framework sea extensible y confiable ya que es el usuario final quien puede programar un método específico y aplicarlo con los datos de la base de datos. Estos métodos serán aplicados para pronosticar tanto valores como así también estados futuros del indicador.

Por último, para una evaluación exhaustiva y así poder concluir sobre los resultados obtenidos, la herramienta provee información oportuna, efectiva y legible a través de gráficos, algunos de los cuales son preestablecidos y otros agregados por el usuario a su conveniencia a través de los indicadores de gestión que hayan sido previamente definidos.

La Figura 4 nos permite visualizar mejor el contexto del prototipo.

Figura 4: Prototipo del framework.

16

Page 17: Tesis de Grado - UNICEN

1.4 Organización del documento El proyecto consta de varias partes bien marcadas. El capítulo 2 se centrará en el estudio de los diferentes programas que tienen

funcionalidades semejantes al prototipo, analizando y marcando en detalle los conceptos más importantes de estos programas y la justificación sobre las elecciones de las características de éstas herramientas.

En el capítulo 3 se presenta una solución al problema planteado detallando el prototipo creado y describiendo su funcionamiento, uso e implementación.

En el capítulo 4 se presentan los casos de estudios realizado con la aplicación, mostrando los resultados obtenidos de las pruebas realizadas, gráficos y tablas.

Finalmente se expondrán las conclusiones obtenidas y los trabajos futuros propuestos.

1.5 Cronograma del proyecto La planificación de este proyecto se divide en seis tareas principales que

abarcan desde la fase de planificación y diseño hasta la fase de implementación y test del prototipo generado. Según la planificación general del proyecto, éste debería ser desarrollado en un total de doce meses, teniendo como fecha de inicio el 12/05/2015 y como fecha de fin el 12/05/2016.

Las principales tareas en las que se divide el proyecto son las siguientes:

Revisión del estado de arte, herramientas disponibles y bibliografía: Para poder definir el alcance y objetivo del prototipo, lo primero que se debe hacer es interiorizarse en el tema en el que se basa el prototipo a desarrollar. Para eso se debe buscar y utilizar algunas de las herramientas que se pueden encontrar en internet para poder comprender la problemática y la necesidad de desarrollar el prototipo. Por otro lado, hacer un relevamiento de la bibliografía disponible en libros, internet, papers, tesis doctorales, etc. Por último, en esta etapa, se hace un análisis de trabajos relacionados recopilando documentación de sistemas similares al que se quiere desarrollar.

17

Page 18: Tesis de Grado - UNICEN

Evaluación de tecnologías para el desarrollo: Con las distintas tecnologías que hay en el área de programación, se realiza una comparación entre ellas con sus trade­off y se elige la más beneficiosa para el desarrollo del prototipo.

Diseño del prototipo: La etapa del Diseño del Sistema encierra cuatro etapas. El diseño de los datos, en la que se crean las estructuras de datos necesarios para implementar el Software. El Diseño Arquitectónico, que define la relación entre cada uno de los elementos estructurales del programa. El Diseño de la Interfaz, que describe cómo se comunica el Software consigo mismo, con los sistemas que operan junto con él y con los operadores y usuarios que lo emplean. El Diseño de procedimientos, el cual transforma elementos estructurales de la arquitectura del programa. El Diseño es la única manera de materializar con precisión los requerimientos del cliente.

Desarrollo del prototipo: Fase en la que se implementa el framework. Evaluación y medición de los resultados: En este apartado se analizan los

resultados obtenidos del estudio detallado de un conjunto de datos generados. También se realiza una comparación con las distintas herramientas existentes.

Documentación y elaboración del informe: Fase en la que se genera la documentación requerida por el proyecto.

El detalle de cada actividad se ve en la Tabla 2, y el correspondiente diagrama de Gantt en la Figura 5.

Tabla 2: Actividades llevadas a cabo a lo largo del trabajo y su duración en semanas.

18

Page 19: Tesis de Grado - UNICEN

Figura 5: Diagrama de Gantt. Origen y final de las diferentes unidades mínimas de trabajo.

19

Page 20: Tesis de Grado - UNICEN

2 Estado del Arte

2.1 Introducción

El capítulo del Estado del Arte presenta información relevada durante la investigación previa a realizar el prototipo. Esta investigación consistió en buscar herramientas de software similares tanto para aplicar métodos matemáticos como para la gestión por indicadores que tratan la problemática de forma parcial, para así poder comenzar a realizar un análisis de lo existente.

2.2 Herramientas de Software

A lo largo de toda la tesis, encontramos distintos programas donde se utiliza la programación de métodos matemáticos, ya sea para obtener resultados aplicados a datos, como así también para realizar gráficos.

La mayoría de las herramientas de software más nuevas como Tableau y Qlik Sense, a diferencia de las tradicionales que son MatLab, Scilab, InfoStat y R, son web. Otra característica novedosa, es que permiten usar sus programas en dispositivos móviles como así también en tablets por utilizar la tecnología web.

2.2.1 Herramientas de Software Matemáticas

Las herramientas que se van a detallar a continuación, tienen como objetivo principal, el desarrollo de métodos matemáticos. Además, la performance para obtener los resultados es su prioridad primordial, por lo que las interfaces gráficas se ven afectadas.

20

Page 21: Tesis de Grado - UNICEN

2.2.1.1 Scilab Scilab es un paquete de software libre de código abierto para computación

científica, orientado al cálculo numérico, a las operaciones matriciales y especialmente a las aplicaciones científicas y de ingeniería.

Puede ser utilizado como simple calculadora matricial, pero su interés principal radica en los cientos de funciones tanto de propósito general como especializadas que posee así como en sus posibilidades para la visualización gráfica.

Scilab es un programa de escritorio y posee además un lenguaje de programación propio, muy próximo a los habituales en cálculo numérico (Fortran, C, ...) que permite al usuario escribir sus propios scripts (conjunto de comandos escritos en un fichero que se pueden ejecutar con una única orden) para resolver un problema concreto y también escribir nuevas funciones con, por ejemplo, sus propios algoritmos. Scilab dispone, además, de numerosas Toolboxes, que le añaden funcionalidades especializadas. [7]

Inicialmente fue desarrollado por el INRIA (Institut National de Recherche en Informatique et Automatique), actualmente está a cargo de un Consorcio de universidades, empresas y centros de investigación. [5]

La versión hasta la fecha 30/10/2015 es la 5.5.2. Tanto los binarios para varias plataformas (GNU Linux, Windows 2000/XP/Vista/7/8/8.1/10, Hp­UX) como los fuentes están disponibles en la página oficial http://www.scilab.org/download

La herramienta Scilab es una de las más usadas y conocidas por el ámbito matemático, por su ventajas explicadas anteriormente y sobre todo por ser gratuita. Pero también posee una gran documentación y ayuda on­line (solo disponible en inglés y francés) que está a disposición de todos sus usuarios.

Scilab dispone de un manual de usuario que se puede consultar en una ventana de ayuda (Help Browser). Esta ayuda se puede invocar desde la barra de herramientas (? ­­­> Scilab Help en Windows, Help ­­­> Help Browser en Linux) o escribiendo mediante el comando help(). Se puede acceder fácilmente a la descripción de todas las funciones que, en muchos casos, se acompaña de ejemplos de uso ilustrativos. También dispone de un conjunto de Demos que pueden ayudar mucho al aprendizaje de Scilab ya que se acompañan, en general, del código que genera la demostración.

21

Page 22: Tesis de Grado - UNICEN

Otra forma gran ventaja que ofrece esta completa herramienta, es la posibilidad de interactuar con otros usuarios por diferentes medios. En su página oficial, como se puede observar en la Figura 6, están algunas de las redes sociales más conocidas como facebook, twitter y youtube para facilitar la comunicación.

Figura 6: Conectividad ofrecida por Scilab en su página web.

Asimismo, Scilab proporciona dentro de su documentación en su página oficial, un apartado para los usuarios que antes usaron Matlab. Este beneficio hace que la herramienta pueda ser utilizada por más personas, ya que al ser gratuita, el usuario que antes usaba Matlab pueda realizar lo mismo el Scilab y aprender de manera rápida y sencilla gracias a los ejemplos. Por ejemplo en la Figura 7 se observa la función random, muy utilizada en el ambiente estadístico, en el programa Matlab y con la explicación de cómo se utilizaría en Scilab.

22

Page 23: Tesis de Grado - UNICEN

Figura 7: Ejemplo de la función rand en Matlab y su aplicación y explicación en Scilab.

Todas las funciones que se pueden usar en la herramienta Matlab y ser

pasadas a la aplicación Scilab se encuentran en el sitio web. [9] Sin embargo, una desventaja de Scilab es que, a la fecha, no dispone de un

tutorial propiamente dicho que facilite los primeros pasos, que explique la filosofía general del lenguaje o que indique cómo resolver problemas técnicos concretos.

De lo contrario, la Figura 8, es un claro ejemplo ilustrativo sobre el funcionamiento de la herramienta Scilab de cómo se puede graficar fácilmente utilizando sus funciones. La función utilizada es “plot”, la cual necesita recibir dos parámetros (obviamente el resultado va a ser una gráfico en dos dimensiones (2D)) que deben ser números. En el ejemplo se pasa un seno de ‘x’, donde ‘x’ en una función que empieza en 0 y terminar en 10, incrementándose de a 0.1.

En la Figura 8, además se puede observar las distintas vistas que posee la herramienta. Éstos son el editor de texto donde se escriben y ejecutan los comandos, navegador de variables se muestran todas las variables declaradas y con su valor, tipo y visibilidad (también conocido como alcance de la variable), el historial de comandos ejecutados el cual es muy útil para el usuario como ayuda memoria de los comandos que se ejecutaron, y por último se tiene la vista navegador de archivos en la cual se puede navegar y encontrar fácilmente un archivo de la computadora del usuario.

Más aún, cuando se realiza un gráfico como se hizo en la Figura 8, crea una nueva ventana con el resultado del gráfico y con varias funciones para ser aplicadas al gráfico, como por ejemplo exportarlo a PDF.

23

Page 24: Tesis de Grado - UNICEN

Figura 8: Ejemplo de un gráfico y su código en Scilab.

La principal desventaja de la aplicación, es no contar con la funcionalidad de

poder conectarse con una base de datos propia y poder utilizar sus datos para realizar cálculos matemáticos. Por este motivo, es que si se pretende utilizar una base de datos para extraer información se debe utilizar un software adicional donde se pueda hacer consultas y de ese modo transcribir dicha información al editor de texto de Scilab, lo cual hace más tediosa su utilización.

2.2.1.2 Matlab

Herramienta que fue creada por la compañía Mathworks, Inc. Ésta es considerada como un entorno de cálculo técnico, el cual brinda grandes prestaciones para cálculo numérico y visualización de análisis numéricos, cálculo matricial, procesamiento de señales y gráficos. Los usos más comunes de MATLAB son:

­ Cálculos matemáticos ­ Desarrollo de algoritmos ­ Modelado y simulación ­ Análisis de datos, exploración y visualización ­ Gráficas científicas y de ingeniería

24

Page 25: Tesis de Grado - UNICEN

El nombre de MATLAB proviene de Matrix Laboratory, debido a que permite trabajar con facilidad y eficiencia con matrices, por lo mismo tiene un uso esencial tanto en industria como en universidades para el desarrollo de la investigación.

MATLAB es un programa de escritorio y es considerado un sistema interactivo, su elemento básico de datos es la matriz. Este lenguaje integra programación, visualización y cálculos en un ambiente sencillo. Este método resulta muy útil por lagran cantidad de los problemas numéricos que pueden resolver en poco tiempo, mientras que en programas como C, BASIC o FORTRAN tardaría mucho más tiempo.

Además, la aplicación ofrece una gran ventaja sobre otras herramientas, su uso es muy práctico y fácil, no necesita el uso de programación tradicional, los problemas y las soluciones son expresados de la misma manera en que se escriben matemáticamente.

Con el transcurso del tiempo MATLAB ha mejorado y evolucionado notoriamente gracias a los programadores que han colaborado y contribuido a su desarrollo. MATLAB se ha convertido parte importante en las universidades, por ser una herramienta indispensable para diferentes cursos como; Métodos numéricos, álgebra lineal, álgebra aplicada,ecuaciones diferenciales, por decir algunas áreas de ingeniería. Otro uso muy importante es en la industria para el desarrollo de este; mismo que en la ingeniería es muy útil para realizar y resolver los problemas que se van presentando en las diferentes áreas, como pueden ser de procesamientos de señales y de control.

Una de las características principales de la herramienta son los llamados toolboxes, que proporcionan una serie de soluciones. Esto resulta de gran ayuda para los usuarios, ya que son funciones que extienden el entorno de MATLAB. Pueden resolver problemas sobre procesamiento de señales, diseño de sistemas de control, simulación de sistemas dinámicos, identificación de sistemas, redes neuronales entre otros.

El crecimiento que puede tener uno como usuario con esta herramienta es que uno es el propio autor, ya que uno contribuye a este crecimiento, al estar creando programas, el cual cuenta con un lenguaje más matemáticos que otros lenguajes existentes. Otra de las muchas ventajas es la implementación aritmética compleja y el toolboxes, también cuenta con un elemento básico como la implementación de matrices.

25

Page 26: Tesis de Grado - UNICEN

En MATLAB hay 20 categorías de funciones, de las cuales unas están escritas forma de scripts (.m) y otras están implementadas en el intérprete. Los ficheros .m están puestos en 20 directorios, cada uno de estos contiene los scripts asociados a cada categoría.[8]

A la hora de los gráficos, MATLAB cuenta con una interfaz muy distinguida con respecto a los otros programas.

Figura 9: Gráfica en 3D de MatLab.

Continuando con la descripción de la herramienta MATLAB, una ventaja es que permite la conectividad con Excel, Access y MySql. Esta ventaja hace que no se necesiten software adicionales (sin contar los mencionados recientemente) para realizar distintas consultas y hacer operaciones matemáticas con los datos alojados en estos softwares.

Esta ventaja permite acaparar a muchos usuarios ya que pueden utilizar sus datos fácilmente. Los que menos entienden sobre base de datos, usualmente usan el programa Microsoft Excel para guardar sus distintas tablas con sus respectivos datos. Otros, usan Microsoft Access, el cual es un software que se asemeja a un sistema de gestión de base de datos como lo es MySql, pero de manera más intuitiva y con mayor usabilidad. Por ende, MATLAB al poder ser integrado a cualquiera de estos tres principales software, hace que tenga una buena cantidad de clientes.

A la hora de la documentación, la herramienta ofrece en su página web oficial diversos ejemplos en inglés con el objetivo de que los usuarios puedan aprender y

26

Page 27: Tesis de Grado - UNICEN

conocer el lenguaje [11]. Por ejemplo, en la Figura 10, se puede observar como hacer operaciones básicas sobre matrices de manera muy simple, lo cual con un lenguaje de programación no orientado a la matemática, como puede ser Java, trabajar con matrices es totalmente diferente y sobre todo más complejo. Estos tutoriales, también incluyen a algunos de los “add­ons” que se pueden adquirir como extensión de la aplicación.

Figura 10: Operaciones básicas con matrices.

Además de los ejemplos que brinda el sitio web oficial de MATLAB, ofrece videos on­line para que el usuario pueda aprender rápidamente a utilizar la herramienta y sus “add­ons” [12]. Estos videos tienen material para usuarios que recién están empezando a utilizar la aplicación como así también para los usuarios más avanzados.

Como gran desventaja del programa es su forma de adquirirlo, ya que no es gratuito. Tiene varias versiones con diferentes funcionalidades disponible. Cada una de ellas tiene su precio y varía las funcionalidades incluídas.

Por consiguiente, la herramienta es muy costosa y solo posee una versión “prueba” por tiempo limitado, logrando ser inaccesible para muchas personas que desean usarla.

27

Page 28: Tesis de Grado - UNICEN

2.2.1.3 InfoStat

InfoStat es un software estadístico desarrollado por el Grupo InfoStat, un equipo de trabajo conformado por profesionales de la Estadística Aplicada con sede en la Facultad de Ciencias Agropecuarias de la Universidad Nacional de Córdoba [13].

InfoStat es un programa para análisis estadístico de aplicación general, desarrollado bajo la plataforma Windows, que ofrece una interfaz avanzada para el manejo de datos basada en el difundido concepto de planilla electrónica. Permite importar y exportar bases de datos en formato texto, Excel y Epiinfo. Posee rápido acceso a herramientas para el manejo de datos como por ejemplo utilizar fórmulas, aplicar transformaciones, ordenar, categorizar variables, generar variables aleatorias mediante el uso de la simulación, concatenar tablas, seleccionar registros activos, etc. Las capacidades de copia y pegado permiten trasladar fácilmente tablas, resultados y gráficos a otras aplicaciones Windows. La documentación, manual del usuario, incluye todos los procedimientos disponibles en el programa y contiene ejemplos ilustrativos mostrando cómo se obtienen los resultados y sugerencias sobre la interpretación de los mismos. Los datos usados en los ejemplos son incluidos con la distribución de InfoStat. El usuario dispone de una versión electrónica del manual y de ayuda en línea. InfoStat se caracteriza por su simplicidad y al mismo tiempo su potencia como herramienta de cálculo estadístico. El origen universitario de esta aplicación le ha imprimido un estilo especial como herramienta didáctica lo que lo hace especialmente útil para el desarrollo de cursos de grado y posgrado. [3]

InfoStat cubre tanto las necesidades elementales para la obtención de estadísticas descriptivas y gráficos para el análisis exploratorio, como métodos avanzados de modelación estadística y análisis multivariado. Una de sus fortalezas es la sencillez de su interfaz combinada con capacidades profesionales para el análisis estadístico y el manejo de datos. Debido al origen universitario, el programa tiene muchas facilidades para la enseñanza de la estadística que no son fáciles de encontrar en otros programas similares. La versión en español es muy valorada por los usuarios, especialmente por los estudiantes. Una propiedad casi única entre el software estadístico es la habilidad de InfoStat de conectarse con R, una plataforma de desarrollo de algoritmos estadísticos de dominio público de gran crecimiento. InfoStat se conecta con R de dos maneras: mediante un intérprete integrado que

28

Page 29: Tesis de Grado - UNICEN

permite ejecutar script de R sin salir del ambiente de trabajo de InfoStat y mediante el desarrollo de aplicaciones utilizando el motor de cálculo de R pero con la interfaz amigable que los usuarios esperan. Ese es el caso de la inclusión de modelos lineales mixtos y generalizados mixtos en InfoStat. [3]

Este intérprete permite al usuario escribir y ejecutar sus propios scripts de R. La ventana principal del intérprete se divide en cuatro paneles: Editor, Salida, Mensajes y el panel de Objetos.

El editor también tiene facilidades para la búsqueda y reemplazo que se invocan con el botón correspondiente de la barra de herramientas . El usuario puede tener varios scripts abiertos al mismo tiempo. Cada uno tendrá su propia pestaña en el Editor, pero todos comparten el mismo espacio de trabajo. Así, los objetos creados por una secuencia de comandos son también accesibles a otros scripts. Esta es una propiedad útil cuando se trabaja con un código grande y se ha dividido en varias partes.

El usuario puede ejecutar el código línea por línea, por partes o el script completo. Para ejecutar una sola línea hay varias opciones: poner el cursor en cualquier lugar de la línea y presionar F8, seleccionar la línea y pulsar F9 o la flecha verde en la barra de herramientas, o cuando el cursor se encuentra al final de la línea, pulsar [Ctrl] [Retorno], o en cualquiera de las situaciones anteriores aplicando [Ctrl][R]. Ejecución de un script puede producir: una salida de texto al panel Salida: uno o más objetos que se mostrarán en el panel Objetos y, finalmente, mensajes de error u otros mensajes que se mostrarán en el panel de mensajes.

Para acceder a la zona de trabajo se hace clic sobre el menú [R]. La zona de trabajo se ve de la siguiente manera:

29

Page 30: Tesis de Grado - UNICEN

Figura 11: Intérprete de R, InfoStat.

La ventana se divide en cuatro paneles: Editor de Scripts, Resultados o

Salidas, Mensajes y Objetos. El editor destaca palabras clave más comunes, números, símbolos, palabras reservadas, los comentarios y los pares de paréntesis. Una ayuda o ayuda extendida sobre un tema puede ser solicitada seleccionando el tema en el editor y pulsando uno de los dos botones de ayuda , en la barra de herramientas, respectivamente. La ventana de ayuda se mostrará como una ventana independiente como si el usuario se lo pidiera a R.

InfoStat tiene un avanzado sistema de administración de datos que permite un alto nivel de productividad. Los datos se organizan en tablas que se pueden cargar manualmente o importando formatos de datos ampliamente aceptados como Excel 2003, Texto y dbf o especializados como Epiinfo. El tamaño de las tablas está sólo limitado por la memoria disponible. Las tablas soportan las funciones copiar y pegar permitiendo transferir datos desde y hacia otras aplicaciones de manera simple. Las tablas infostat admiten 3 tipos básicos de variables: Numéricas, Categóricas y Fechas. Es posible poner en formato uni o multivariado una tabla de acuerdo a las necesidad del análisis. Las tablas pueden ser ordenadas por múltiples criterios y los casos activados o desactivados selectivamente para participar o no de los cálculos. Es posible aplicar fórmulas para generar nuevas columnas o reemplazar existentes. El menú de Transformaciones implementa transformaciones comúnmente aplicadas que cubren tanto trasformaciones uni como multivariadas.

30

Page 31: Tesis de Grado - UNICEN

Las variables numéricas pueden categorizarse y las categóricas editarse. Las funciones para concatenar tablas lateral y verticalmente facilitan la construcción de bases de datos combinados distintas fuentes de datos. [3]

InfoStat permite abrir archivos con los siguientes formatos:

La herramienta InfoStat, a la fecha, no tiene documentación en su página

oficial, de lo contrario, ofrece un curso para usuarios que quieran aprender a manipular la aplicación. Este curso fue dictado en Córdoba, Argentina, en el año 2014. El no contar con una documentación en su sitio web, hace que sea complejo para nuevos usuarios aprender a utilizar la herramienta. Igualmente, en buscando en internet, se puede encontrar tutoriales básicos en español, como también videos explicativos de la herramienta.

La desventaja primordial que posee InfoStat es que es una herramienta paga. Tiene varios tipos de licencias. Una de las cosas que tiene a favor esta herramienta es que posee una versión estudiantil gratuita pero solo se puede pedir una clave al año. La liberación de InfoStat estudiantil lo convierte en un excelente aliado de docentes y alumnos quienes pueden organizar sus actividades de enseñanza­aprendizaje en un marco de libertad y legalidad.

2.2.1.4 R

R fue creado en 1992 en Nueva Zelanda por Ross Ihaka y Robert Gentleman (Ihaka [1998]). Decidieron adoptar la sintaxis del lenguaje S desarrollado por Bell Laboratories. Como consecuencia, la sintaxis es similar al lenguaje S, pero la semántica, que aparentemente es parecida a la de S, en realidad es sensiblemente diferente, sobre todo en los detalles un poco más profundos de la programación.

El sistema R está dividido en dos partes conceptuales: 1) El sistema base de R, que es el que puedes bajar de CRAN; y, 2) en todo lo demás. La funcionalidad de R consta de paquetes modulares. El sistema base de R contiene el paquete básico que se requiere para su ejecución y la mayoría de las funciones fundamentales. Los

31

Page 32: Tesis de Grado - UNICEN

otros paquetes contenidos en la “base” del sistema incluye a utils, stats, datasets, graphics, grDevices, grid, tools, parallel, compiler, splines, tcltk, stats4.

La capacidad de gráficos de R es muy sofisticada y mejor que la de la mayoría de los paquetes estadísticos. R cuenta con varios paquetes gráficos especializados, por ejemplo, hay paquetería para graficar, crear y manejar los shapefiles, para hacer contornos sobre mapas en distintas proyecciones, graficado de vectores, contornos, etc. También existen paquetes que permiten manipular y crear datos en distintos formatos como netCDF, Matlab, Excel entre otros. Cabe señalar que, además del paquete base de R, existen más de 4000 paquetes en CRAN (http://cran.r­project.org), que han sido desarrollados por usuarios y programadores alrededor del mundo, esto sin contar los paquetes disponibles en redes personales.

R es muy útil para el trabajo interactivo, pero también es un poderoso lenguaje de programación para el desarrollo de nuevas herramientas, por ejemplo rclimdex, cliMTA­R, etc. Otra ventaja muy importante es que tiene una comunidad muy activa, por lo que, haciendo las preguntas correctas rápidamente encontrarás la solución a los problemas que se te presenten en el ámbito de la programación con R. Estas características han promovido que el número de sus usuarios en el área de las ciencias se incremente enormemente.

Al ser software libre lo hace un lenguaje atractivo, debido a que no hay que preocuparse por licencias y cuenta con la libertad que garantiza GNU. Es decir con R se tiene la libertad de: 1) correrlo para cualquier propósito, 2) estudiar cómo trabaja el programa y adaptarlo a sus necesidades, pues se tiene acceso al código fuente, 3) redistribuir copias, y 4) mejorar el programa y liberar sus mejoras al público en general.

Es importante mencionar que, debido a su estructura, R consume mucho recurso de memoria, por lo tanto si se utilizan datos de tamaño enorme, el programa se alentaría o, en el peor de los casos, no podría procesarlos. En la mayoría de los casos, sin embargo, los problemas que pudieran surgir con referencia a la lentitud en la ejecución del código, tienen solución, principalmente teniendo cuidado de vectorizar el código; ya que esto permitiría particionarlo y aprovechar en procesamiento paralelo en equipos con multi­núcleos.

Una de las grandes virtudes del lenguaje R, es la facilidad que ofrece para presentar la información correspondiente a los datos que maneja o a los cálculos que desarrolla, de una manera gráfica. El lenguaje cuenta, no con uno, sino con

32

Page 33: Tesis de Grado - UNICEN

varios sistemas, en general separados, para organizar o especificar visualizaciones gráficas [2] . En la Figura 12 vemos algunos ejemplos gráficos:

Figura 12: Gráficos de R.

33

Page 34: Tesis de Grado - UNICEN

Una opción tan interesante como necesaria es la de lectura y escritura de archivos de datos. R permite importar datos desde cualquier tipo de archivo de datos básico, tal como bases de datos, archivos excel, de SPSS, de Minitab, de STATA, de documentos de texto, archivos .dat, etc. La orden de lectura de datos es “read.table”, con ella y sus argumentos podemos leer los archivos e indicar el modo en el que ellos están construidos.[18]

2.2.2 Herramientas de Softwares de Indicadores

Estas aplicaciones se basan en la gestión de indicadores, dejando de lado la principal funcionalidad de programar métodos matemáticos. Otra característica de estas herramientas, es focalizarse en el diseño gráfico para que puedan ser utilizadas no solo de manera desktop, sino que también puedan ser manejadas a través de browser, teléfonos celulares y tablets.

2.2.2.1 Tableau

La herramienta Tableau, del francés mesa, es un programa desarrollado por la empresa estadounidense Tableau Software, la cual desarrolla distintas aplicaciones para la visualización interactiva de datos basados en el análisis y la inteligencia del negocio.[14]

Tableau Software, no solo desarrolla una aplicación escritorio para el análisis y visualización de datos (Tableau Desktop), sino que también desarrolla varios softwares que permiten la visualización de datos en móviles, tablets y páginas web. Estos softwares son conocidos como Tableau Móvil y Tableau Online.

Además de los softwares mencionados anteriormente, provee un software llamado Tableau Server, el cual es un servicio adicional para las distintas herramientas. Su funcionalidad básica es brindarle a los clientes de las herramientas Tableau, la posibilidad de crear una base de datos propia y ser almacenada en la nube. Esto logra una disponibilidad y extensibilidad notable del producto, ya que la base de datos puede ser accedida sin importar el lugar físico donde se encuentre la persona que lo vaya a utilizar, ni la cantidad de personas que quieran acceder.

34

Page 35: Tesis de Grado - UNICEN

La combinación de Tableau Server con otros de los programas de la empresa, es muy utilizada por compañías que no están alojadas en un mismo lugar físico. Este beneficio hace que tengan una mejor facilidad para acceder, analizar y visualizar los diferentes datos que manipulan.

En Tableau Desktop, es muy fácil poder conectarse a diferentes base de datos propias. Además, provee una conectividad con los servers más utilizados para alojar las bases de datos, como son Oracle, Sql Server, MySql, Google Cloud Sql, PostgreSQL, entre otras. En la Figura 13, se puede apreciar la lista completa de todos los servidores a los que se pueden conectar Tableau Desktop.

Figura 13: Servidores con los cuales Tableau Desktop ofrece conectividad.

Por otra parte, permite extraer datos desde Microsoft Excel, Microsoft Access y de distintos archivos estadísticos que un usuario pudiese tener.

35

Page 36: Tesis de Grado - UNICEN

Otra gran ventaja de esa herramienta, es la facilidad con la que se pueden crear gráficos con los datos. Estos se debe a que cuenta con la tecnología “Drag and Drop”, hoy en día muy usada en teléfonos celulares y tablets. En la Figura 14 se puede apreciar los diferentes gráficos que ofrece el programa y en la Figura 15 un ejemplo.

Figura 14: Diferentes gráficos que brinda Tableau Desktop.

36

Page 37: Tesis de Grado - UNICEN

Figura 15: Ejemplo de un gráfico de barras realizado con la herramienta Tableau Desktop.

La versión gratuita para Tableau Desktop tiene un período de catorce días

para utilizarla sin restricción. Pasado ese tiempo se tiene que comprar, de lo contrario no se podrá utilizar.

A la hora de la documentación, en su sitio oficial, se puede acceder a tutoriales y entrenamientos y ejemplos concretos de cómo utilizar la aplicación. También cuenta con un servicio de soporte para todos aquellos que hayan comprado el software, logrando así solucionar cualquier tipo de error que pudieran surgirles a sus clientes.

Una desventaja de Tableau, es que al estar concentrada en el análisis y visualización de los datos, no se pueden realizar métodos matemáticos como en los softwares descritos anteriormente a lo largo de este capítulo, sino que están embebidos, por ende, no se sabe que métodos utiliza para realizar su análisis, haciendo que los resultados no sean del todo confiables. Si se pretende utilizar un método matemático propio, se debe utilizar otra herramienta para programar las funciones matemáticas y dejar la parte gráfica a Tableau, con lo que hace más tedioso el trabajo del analista porque debe ir cambiando de herramienta a herramienta.

37

Page 38: Tesis de Grado - UNICEN

2.2.2.2 Qlik Sense

Después de todas las herramientas descritas anteriormente, es la hora de hablar sobre Qlik Sense. Este programa es desarrollado por la empresa de software estadounidense Qlik, que tiene como principal objetivo la visualización de datos y la inteligencia de negocios, al igual que la empresa Tableau.

Qlik Sense se basa en una guía de exploraciones controladas en conjuntos de datos dinámicos permitiendo construir una aplicación personalizada en un entorno de scripting Qlik Sense. La herramienta está disponible en modo escritorio o servidor.

El scripting Qlik Sense, es el lenguaje que posee la herramienta para poder crear funciones matemáticas y manipular los distintos datos. Al ser un lenguaje propio y poco conocido por el ambiente matemático, hace que sea más difícil poder utilizar la aplicación y es por eso que su página web oficial cuenta con foros, cursos para principiantes, servicios de formación, soporte y consultoría.[16]

El foro es donde los usuarios pueden plantear distintas dificultades que tienen al utilizar la herramienta, y así poder obtener soluciones. El foro solamente se encuentra en el idioma inglés, con lo que hace que algunos usuarios tengan dificultades para resolver sus inconvenientes.

Por un lado, los cursos para principiantes y servicios de formación son brindados por expertos en la herramienta, por lo cual, los usuarios novatos pueden aprender fácilmente. A pesar de esto, los cursos no se dictan de manera gratuita ni tampoco los materiales que brindan. Pero en la web se puede encontrar bastante información y videos explicativos sobre la herramienta de software con lo cual no hace falta tener que contratar si o si estos cursos para aprender y poder saber como usarla.

La empresa Qlik, ofrece tres distintas versiones de su producto Qlik Sense. Las versiones son: Qlik Sense Desktop, Qlik Sense Cloud y Enterprise. Las primer versión es gratuita y no tiene límites de usuarios, lo que difiere con la segundo versión que es gratuita pero hasta cinco usuarios. La tercer versión, Enterprise, cuesta unos mil quinientos dólares por usuario y no cuenta con una versión de prueba.[17]

La diferencia entre las dos versiones gratuitas, que fueron las que pudimos probar descargando las versiones gratuitas, es la posibilidad de almacenar los datos en la “nube” para poder ser accedidos fácilmente y desde cualquier lugar, lo cual

38

Page 39: Tesis de Grado - UNICEN

hace que la versión Qlik Sense Cloud tenga mayor disponibilidad. En cambio la versión Desktop, tiene como atributos de calidad la seguridad, performance y usabilidad.

Como podemos ver en la Figura 16, la conectividad con bases de datos es limitada comparada con la herramienta Tableau, pero suficiente y adecuada por ser una versión gratuita.

Como se había mencionado anteriormente, una de las grandes desventajas que tiene Qlik Sense Desktop, es que posee un lenguaje propio para poder desarrollar diferentes métodos matemáticos, como así también para poder realizar gráficos.

Figura 16: Conectividad de Qlik Sense Desktop.

Una de los objetivos de esta herramienta es la visualización de datos y como

se observa en la Figura 17, los gráficos son muy nítidos, con colores diversos y poder observar varios gráficos en una misma imagen, lo que hace poder interpretar fácilmente los datos.

39

Page 40: Tesis de Grado - UNICEN

Figura 17: Ejemplo de gráficos de la herramienta Qlik Sense Desktop.

La versión Enterprise, cuenta con el beneficio de poder utilizar la herramienta

de forma web y además poder ser usada en tablets y en móviles. Esto hace que los clientes puedan consultar y realizar funciones constantemente sin tener que tener una computadora a disposición. Pero, como desventaja del atributo de calidad “mobility”, es que las funciones disponibles son las primordiales y básicas del programa ya que la aplicación necesita requerimientos mínimos para funcionar en su totalidad correctamente.

40

Page 41: Tesis de Grado - UNICEN

2.3 Comparaciones

Para apreciar claramente las diferencias entre las distintas herramientas investigadas, y teniendo en cuenta la Tabla 3, se ha plasmado la siguiente tabla:

Scilab MatLab InfoStat R Tableau Qlik Sense

Tipo de Herra­ mienta

Escritorio. Escritorio. Escritorio. Escrito­ rio

Escritorio y Web.

Escritorio y Web.

Bases de Datos

No tiene la funcionalidad de poder conectarse con una base de datos.

Microsoft Excel, Microsoft Access, MySql.

Microsoft Excel 2003, Texto y dbf o especializados como Epiinfo, entre otros.

Archivos excel, de SPSS, de Minitab, de STATA, de documentos de texto, archivos .dat, etc.

Microsoft Excel, Microsoft Access y de distintos archivos estadísticos. Posee conectividad con Oracle, Sql Server, MySql, Google Cloud Sql, PostgreSQL, propia de Tableau, entre otras.

Microsoft Excel, Archivos Web, ODBC, OLE DB, Archivos Delimita­dos.

Lenguaje de

Propio. Propio. Conectividad con R.

R. No permite programar funciones

Propio (scripting

41

Page 42: Tesis de Grado - UNICEN

Progra­ mación

matemáti­ cas.

Qlik Sense).

Principal ventaja

Es un programa gratuito.

Funciones ya preparadas para trabajar con matrices y números.

Conectivi­ dad con R para la programa­ ción de métodos matemáti­ cos.

Gran cantidad de gráficos y métodos matemá­ticos pre estable­ cidos.

Interfaz gráfica, conectivi­ dad con muchas bases de datos y ser web.

Interfaz gráfica y tener platafor­ma web.

Principal desven­ taja

No se puede conectar con Bases de Datos.

Herra­ mienta paga.

Herramien­ta paga.

Interfaz gráfica y conectivi­dad con pocas Bases de Datos.

No permite programar funciones matemáti­ cas propias.

Dificultad para progra­ mar funciones debido a su lenguaje.

Aplicar métodos matemáti­

cos

Sí. Sí. Sí. Sí. No. Sí.

Gestión por

Indicado­ res

No. No. Sí. Sí. Sí. Sí.

Libre / Paga

Libre. Paga. Paga. Libre. Paga. Paga.

Tabla 3: Comparaciones entre las distintas Herramientas de Software.

42

Page 43: Tesis de Grado - UNICEN

2.4 Conclusión Luego de analizar toda la información recolectada y desarrollada durante todo

el capítulo “Estado del Arte”, podemos concluir que hay muchísimas herramientas de software que tratan la problemática, pero todas cuentan con algunas desventajas.

Nos hemos inclinado a realizar un prototipo de tipo desktop tomando las principales ventajas de las herramientas de softwares explicadas anteriormente en este capítulo, ya que son la más utilizadas en el ambiente matemático porque se obtiene una mejor performance siendo desktop que utilizando la tecnología para desarrollar una versión web. Uno de los puntos en el que vimos la oportunidad de darle una ventaja a nuestra herramienta, a parte de ser gratuita, sobre las otras es la inclusión de R, como lo hace Infostat. Este lenguaje es muy versátil, permitiendo realizar los métodos matemáticos que necesite el usuario. Así como también, sus gráficos son sofisticados y mejor que la de la mayoría de los paquetes gráficos de las otras herramientas. Además son muy claros para poder analizar y comprender los resultados fácilmente. Otra virtud que vimos en R es que contiene una infinidad de paquetes para que al usuario le sea mucho más sencillo programar.

Al ir viendo las diferentes herramientas web y sus interfaces, como Tableau o Qlik Sense, nos hemos centrado en crear una interfaz en la cual le sea cómoda, agradable y simple de utilizar por el usuario.

43

Page 44: Tesis de Grado - UNICEN

3 Diseño e Implementación 3.1 Introducción

En este capítulo se discutirán las decisiones de diseño que fueron tenidas en cuenta durante el desarrollo del prototipo. Algunos requerimientos de la solución demandaron el uso de patrones arquitectónicos y de diseño debido a su complejidad, como lo son por ejemplo que el sistema debe comunicarse con herramientas de terceros como lo es el intérprete de R.

3.2 Aspectos de implementación

Se decidió desarrollar una aplicación Desktop (también llamada de Escritorio) que será instalada en el ordenador del Usuario. Su ejecución no requiere comunicación con el exterior, sino que se realiza de forma local, ya que la base de datos se conecta con el prototipo a través de un programa llamado Wamp, el cual aloja la Base de Datos localmente simulando ser un servidor. Con esta aplicación, se logra que la herramienta desarrollada sea standalone, es decir que no necesita estar conectada con internet para su funcionamiento, lo cual logra una mejor performance y seguridad a la hora de utilizar base de datos.

El paradigma de programación utilizado ha sido el Paradigma Orientado a Objetos. Esta decisión fue tomada por las ventajas que se obtienen con este paradigma, como son la reusabilidad, mantenibilidad, modificabilidad y fiabilidad. Por otra parte, el lenguaje de programación seleccionado para la implementación ha sido Java, ya que es el lenguaje más utilizado hasta el día de la fecha en cuanto a la utilización del paradigma de programación orientada a objetos. Otro de los motivos de la elección de este lenguaje es por la conectividad que tiene con frameworks terceros utilizados para la implementación de la herramienta. Además, tiene la facilidad para identificar objetos dentro del sistema.

El patrón arquitectónico principal que se utilizó para la herramienta fue Model­View­Controller (MVC). Este patrón, se caracteriza por separar la lógica de negocios de la interfaz gráfica (UI), separando el sistema en tres grandes partes,

44

Page 45: Tesis de Grado - UNICEN

Modelo (contiene los datos de la aplicación), Vista (encargada de la interacción con el usuario y de mostrar porciones de los datos que se encuentran en el modelo) y Controlador (intermediario entre el modelo y la vista, encargado de manejar las notificación de un cambio de estado), logrando así que los atributos de calidad usabilidad, reusabilidad y modificabilidad se vean beneficiados, no así performance y portabilidad.

El trade­off que nos impone el patrón arquitectónico MVC con los atributos de calidad performance y modificabilidad, no influye demasiado, ya que al ser un prototipo desktop y standalone, el atributo performance se ve beneficiado.

En la Figura 18, se puede observar la vista general de la herramienta implementada con el patrón arquitectónico MVC. A lo largo de todo el capítulo se va a describir de forma detallada cómo fueron implementados cada uno de estos componentes.

Figura 18: Sistema en general.

Con respecto a la base de datos, el lenguaje que se decidió utilizar en el motor fue MySql. Esta decisión fue tomada por un lado porque tiene muchas ventajas este lenguaje, y por otro lado porque hoy en día uno de los más importantes en lo que hace al diseño y programación de base de datos de tipo relacional.

Algunas de las ventajas de este lenguaje son: es uno de los gestores con mejor rendimiento debido a la velocidad con la que realiza las operaciones, otra ventaja muy importante es el bajo costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una

45

Page 46: Tesis de Grado - UNICEN

máquina con escasos recursos sin ningún problema, resolviendo así la utilización de la herramienta en computadoras con bajos recursos de hardware.

Asimismo, una de las características más interesantes de MySQL es que diferentes lenguajes de programación que se adaptan a diferentes necesidades y requerimientos, con lo cual la utilización del lenguaje de programación Java junto a MySql fue compatible.

A la hora de definir las bibliotecas para desarrollar la aplicación, se desarrolló con el último framework disponible al día de la fecha para el lenguaje Java, JavaFX. JavaFX es una herramienta que permite a los desarrolladores crear aplicaciones de las llamadas rich internet applications (RIAs). JavaFX está diseñada para proveer una plataforma ligera y acelerada de gráficos para aplicaciones de negocio empresariales, al mismo tiempo que permite a los desarrolladores crear sus aplicaciones completamente en el lenguaje de programación Java.[22]

3.3 Descripción del sistema actual

Antes de comenzar con una descripción detallada sobre la implementación del prototipo, se van a mostrar los requerimientos funcionalidades del sistema. A través de diagramas UCM (use case map) se van a representar algunos de éstos requerimientos funcionales, para así poder ver y comprender fácilmente los distintos flujos que puede realizar el sistema.

Los requerimientos funcionales son:

Conectarse fácilmente desde la aplicación a la base de datos. Desde la aplicación poder trabajar con los datos de la base de datos

en distintos métodos matemáticos desarrollados por el usuario de manera sencilla.

Escribir y ejecutar código en el lenguaje matemático R sin tener que usar diferentes herramientas.

Guardar los métodos matemáticos para futuras ejecuciones. Poder visualizar y descargar localmente gráficos en diferentes tipos

de imágenes (PDF, JPG).

46

Page 47: Tesis de Grado - UNICEN

Como se mencionó anteriormente, la herramienta cuenta con una base de datos, la cual va a ser consultada para distintas funciones que provee la herramienta. En la Figura 19, se puede observar el caso más sencillo y principal, que es el de pedir todos los datos de la base de datos para poder mostrarla en pantalla y así el usuario poder trabajar con ella.

Figura 19: UCM: conectar con la base de datos y mostrar en pantalla.

La funcionalidad más destacada del prototipo desarrollado para la tesis, es

su conectividad con el lenguaje matemático R. Esto permite a los usuarios no tener que aprender un nuevo lenguaje para desarrollar sus métodos, como así también, la confianza de los resultados obtenidos.

En la Figura 20, se observa el hilo de ejecución en la herramienta cuando el usuario utiliza dicha funcionalidad. En la vista, lo que el usuario está observando (interfaz gráfica), es donde se escribe dentro de un editor todo el código R a ejecutar. Una vez terminado, el usuario procede con su ejecución y le avisa al intérprete de R, que variable o función está el resultado que desea mostrar. Cuando el thread alcanza al modelo, donde se encuentra el intérprete de R, se interpreta todo el script y si no hay errores en el código y la función o variable especificada existe, se retornará a la interfaz gráfica el resultado obtenido.

47

Page 48: Tesis de Grado - UNICEN

Figura 20: UCM: Ejecución de métodos matemáticos en R.

En el caso de que el código tuviese errores o la función/variable no fuese la correcta el thread sería como lo muestra la Figura 21.

Figura 21: UCM: Error en el código interpretado.

Para terminar con las demostraciones de cómo opera la herramienta para

satisfacer los requerimientos funcionales, la Figura 22, detalla un caso aún más complejo con varias interacciones entre los distintos componentes del patrón arquitectónico MVC.

En este caso, el usuario desea ejecutar su código en R y el gráfico generado, poderlo guardar en su computadora para no tener que volver a ejecutar el script nuevamente.

48

Page 49: Tesis de Grado - UNICEN

Figura 22: UCM: Descargar gráfico obtenido a través de código en R.

3.4 Descripción de la implementación

Como se describió anteriormente, el patrón arquitectónico principal utilizado en el diseño de la herramienta fue MVC. Dentro del modelo, lugar donde se encuentra la lógica del programa, se divide en distintos módulos. En la Figura 23 se observa un diagrama estático como es el de módulos, donde se aprecia la modularidad que tiene el sistema beneficiando así al atributo de calidad modificabilidad.

49

Page 50: Tesis de Grado - UNICEN

Figura 23: Diagrama de módulos: modelo perteneciente al MVC utilizado en el diseño de la herramienta.

Cada uno de estos módulos, tiene una funcionalidad bien definida y diferente a los demás. Cabe destacar, que cada uno de los módulos está integrado por distintas clases.

Por ejemplo, el módulo “Resultados” encargado de interpretar la salida del código ejecutado en R, y dependiendo a qué tipo pertenece (matriz, String, número, etc), mostrar correctamente por pantalla. La Figura 24 y 25 son ejemplos de distintos tipos de resultados obtenidos a partir de un código en R.

50

Page 51: Tesis de Grado - UNICEN

Figura 24: Tipo de resultado matriz de dobles.

Figura 25: Tipo de resultado Vector de String.

Poder mostrar diferentes tipos de resultados se logró utilizando un patrón de diseño específico para resolver problemas de este estilo. Cadena de Responsabilidad es un patrón de comportamiento que evita acoplar el emisor de una petición a su receptor dando a más de un objeto la posibilidad de responder a una petición. Para ello, se encadenan los receptores y pasa la petición a través de la cadena hasta que es procesada por algún objeto. Este patrón es utilizado a menudo en el contexto de las interfaces gráficas de usuario donde un objeto puede contener varios objetos.[23]

51

Page 52: Tesis de Grado - UNICEN

La Figura 26 muestra el diagrama de clases sobre la implementación de este patrón de diseño aplicado a resolver el problema de mostrar los distintos tipos de objetos que devuelve R como resultado.

Figura 26: Diagrama de clases, patrón de diseño cadena de responsabilidades.

El framework JavaFx fue utilizado para la implementación de la vista del

prototipo, con lo cual, realizar distintas funcionalidades para mejorar la usabilidad de la herramienta fue más sencillo. Por ejemplo, la técnica usada para el copiado y pegado de los datos que se encuentran en la base de datos al editor de texto, fue “Drag and Drop”. Esta técnica es muy fácil de manipular para el usuario, ya que hoy en día todo lo que es táctil, como teléfonos celulares, tablets, etc, utilizan este mecanismo para interactuar.

Para que esta técnica funcione, al igual que las otras implementadas, es necesario la conexión entre la vista, el controlador y el modelo del patrón MVC como se explicó anteriormente.

52

Page 53: Tesis de Grado - UNICEN

Lo mismo sucede con el mapeo de las tablas de la base de datos, es decir lo que aparece en la vista sea lo mismo que en el modelo y en el servidor, logrando así trabajar con datos consistentes. Para mostrar cómo se realizó esto, la Figura 27 refleja un diagrama de clases acotado, ya que solo se muestra una de las tablas con el fin de que el gráfico no sea muy grande y sea entendible.

Figura 27: Diagrama de clases, mapeo entre interfaz gráfica y modelo.

En el diagrama anterior, las clases AbstractBaseDeDatosGUI, BarraMenu,

ValorIndicadorGUI y FactoryBaseDeDatosGui, perteneces a la parte de la vista del patrón arquitectónico MVC. El controlador, está ubicado en la clase BarraMenu

53

Page 54: Tesis de Grado - UNICEN

dentro del método configurarPanelCentro(), ya que hay un listener que está pendiente a cambios para actualizar ya sea el modelo o la vista.

El controlador logra esto mediante el patrón de diseño Observer, el cual define una dependencia del tipo uno­a­muchos entre objetos, de manera que cuando uno de los objetos cambia su estado, notifica este cambio a todos los dependientes.[26]

Siguiendo con la explicación de la Figura 27, del lado del modelo se encuntra la clase FactoryConsultas, que es la encargada de crear el objeto en tiempo de ejecución según la tabla que se le va a realizar la consulta. Esta clase se sitúa dentro del paquete “Consultar a Base de Datos” de la Figura 23, y explicada detalladamente en la sección 3.5.1 .

3.5 Base de datos

Se dividió esta sección en dos partes para dar una mejor explicación sobre la

base de datos y también poder diferenciar entre la idea básica de la base de datos y la tecnología usada para su implementación.

3.5.1 Base de datos abstracta

El desarrollo de la base de datos utilizada en la herramienta, es la necesaria para poder almacenar indicadores de cualquier contexto posible. La base de datos, incluye precedentemente la identificación de algunas de las propiedades mencionadas por Ballvé (2000) en su libro “Tablero de Control”, en el que señala como relevantes: el período del indicador, la apertura, la frecuencia de actualización, la referencia, los parámetros de alarma, el gráfico más significativo y el responsable del monitoreo. Consideramos muy útil incluir todas las propiedades completando con ellas la lista propuesta anteriormente. [19]

Como se puede apreciar en la Figura 28, la base de datos está compuesta por tablas con sus relaciones. Los diferentes tipos de relaciones se debe al comportamiento que tienen los datos entre ellos, así como también, la consistencia que deben tener entre sí.

54

Page 55: Tesis de Grado - UNICEN

Figura 28: Diagrama de Entidad y Relaciones (ERD) de la Base de Datos.

La entidad principal es la tabla “Indicador”. El significado de cada una de sus

tuplas se puede apreciar en la Tabla 4, donde se describe la funcionalidad de cada una y la relación que tienen algunas de ellas con las demás entidades.

55

Page 56: Tesis de Grado - UNICEN

id Identificador de los indicadores.

código Código particular de un indicador.

nombre Nombre particular de un indicador.

idUnidadDeMedida Referencia a la entidad UnidadDeMedida que lo representa.

dirección (ascendente/descendente).

fórmula Detalle de cómo se representa para obtener del valor.

fichaMetodológica El detalle completo de todas las propiedades del indicador más allá de los que se registran en esta entidad, entre otros, de qué bases de datos se obtiene, quién o quienes lo definieron, las dimensiones que cubre en el contexto de aplicación y observaciones en general.

idGráfico Referencia a la entidad Gráfico que lo representa.

idResponsable Referencia a la entidad Persona que está a cargo del monitoreo del indicador.

frecuencia Frecuencia en que se actualiza.

período Unidad temporal de análisis.

fechaUltimaActualizacion Última fecha en que se actualizó el indicador.

idTipoIndicador Referencia a la entidad TipoIndicador que se ha seleccionado.

observaciones Distintas anotaciones que se pueden agregar sobre el indicador para una mejor descripción o análisis del mismo.

Tabla 4: Entidad Indicador.

Los indicadores tienen una clasificación que es representada en la entidad “tipo indicador”. Esta tabla, muestra el tipo que se está utilizando para un indicador, como puede ser por ejemplo de tipo semáforo. Este tipo de indicador necesita a su vez tener información más detallada, ya que con indicar que esto solo no alcanza porque no sabríamos los distintos estados que puede tener el indicador y su significado.

56

Page 57: Tesis de Grado - UNICEN

Por este motivo, la entidad “tipo indicador” se relaciona con la entidad “estados x tipo indicador”. Esta tabla contiene la información detallada de los distintos tipos de indicadores, como los estado y la representación cromática que pueden tener.

El valor que posee el indicador junto al estado de su tipo indicador, es en la entidad “Valor indicador”.

Para un mejor entendimiento, un ejemplo sencillo sería para denotar la utilización de éstas tres entidades en conjunto, la cantidad de años en finalizar la carrera de Ingeniería de Sistemas.

Id Tipo Indicador

Tipo Indicador

1 Semáforo Tabla 5: Tipo indicador.

Id Tipo Indicador

Estado Representación Cromática

1 Óptimo Verde

1 Aceptable Amarillo

1 Crítico Rojo Tabla 6: Estados x tipo indicador.

Fecha Valor Estado

15­01­2015 7 Óptimo

20­06­2013 10 Aceptable

03­11­2010 16 Crítico

... ... ... Tabla 7: Valor indicador, resultados ilustrativos.

57

Page 58: Tesis de Grado - UNICEN

Los semáforos (verde, amarillo, rojo) son una herramienta muy efectiva de comunicación a la hora de mostrar el estado de un indicador asociado con un nodo estratégico de la organización, sectores o individuos.

Los rangos de aceptación, según la clasificación por el método de cuartiles 1

resultaron:

Crítico: Mayor o igual a 11 años.

Aceptable: Mayor o igual a 8, menor que 11 años.

Óptimo: Menor que 8 años.

Figura 29: Indicador tipo semáforo.

A continuación se detallan las otras entidades que conforman la base de

datos:

id Identificador de cada gráfico.

tipo gráfico Gráfico elegido para representar a un indicador.

observaciones Distintas anotaciones que se pueden agregarle al gráfico. Tabla 8: Entidad Gráfico.

Id Identificador de personas.

Nombre

Apellido

Email

Tipo documento

Nro documento

1 Desarrollado en el capítulo “Casos de Estudio”.

58

Page 59: Tesis de Grado - UNICEN

Cargo Rol que cumple el responsable del indicador.

Observaciones Tabla 9: Entidad Persona.

Id Indicador del tablero.

Nombre

Id indicador Indicador que representa el tablero.

Id Responsable Responsable encargado del tablero.

Fecha última actualización Última fecha que se actualizó el tablero. Tabla 10. Entidad Tablero.

Id indicador Indicador que representa el valor histórico.

Id estado tipo indicador Estado del indicador representado.

Inicio umbral Fecha en la cual se definió o cambió el valor del umbral. El valor anterior de esta propiedad se traslada (junto a las otras propiedades) a la entidad HSTUmbralesXEstadosXIndicador.

Fin umbral Fecha hasta la cual rigen los umbrales inferior y superior para el estado del indicador.

Operador umbral superior Es el operador que define la comparación del límite superior para determinar el estado del indicador (<;<=;=;>;>=).

Operador umbral inferior Es el operador que define la comparación del límite inferior para determinar el estado del indicador (<;<=;=;>;>=).

Valor umbral superior Es el valor que se compara junto a su operador (OperadorUmbralSuperior) para determinar el estado del indicador.

Valor umbral inferior Es el valor que se compara junto a su operador (OperadorUmbralInferior) para determinar el estado del indicador.

Observaciones Tabla 11: Entidad HSTUmbralesXEstadosXIndicador.

59

Page 60: Tesis de Grado - UNICEN

Id tipo indicador

Id estado

Representación cromática El color con el que se representa gráficamente un estado. Por ejemplo para el estado CRITICO el color podría ser ROJO.

Estado El nombre del estado, por ejemplo para el tipo de indicador semáforo puede ser: CRITICO, ACEPTABLE u OPTIMO.

Observaciones Tabla 12: Entidad EstadosXTipoIndicador.

Id

Tipo Nombre del tipo de indicador. Por ejemplo: semáforo, cromático, sigma.

Observaciones Tabla 13: Entidad Tipo indicador.

Id indicador

Fecha Fecha del cálculo del valor del indicador.

Valor Valor que toma el indicador.

Estado Es el estado actual en el que se encuentra el valor del indicador. De acuerdo a la definición del tipo de indicador, por ejemplo para el tipo de indicador semáforo puede ser: CRÍTICO, ACEPTABLE u OPTIMO.

Variación Puede ser un promedio de los últimos n períodos, de acuerdo con esto y la dirección del indicador puedo identificar si está mejorando o no.

Signo variación Positivo o negativo de acuerdo con el valor registrado en la fecha anterior.

Observaciones Tabla 14: Entidad Valor indicador.

60

Page 61: Tesis de Grado - UNICEN

Id indicador

Id estado tipo indicador

Inicio umbral Fecha en la cual se definió o cambió el valor del umbral. El valor anterior de esta propiedad se traslada (junto a las otras propiedades) a la entidad HSTUmbralesXEstadosXIndicador.

Fin umbral Fecha hasta la cual rigen los umbrales inferior y superior para el estado del indicador.

Operador umbral superior Es el operador que define la comparación del límite superior para determinar el estado del indicador (<;<=;=;>;>=).

Operador umbral inferior Es el operador que define la comparación del límite inferior para determinar el estado del indicador (<;<=;=;>;>=).

Valor umbral superior Es el valor que se compara junto a su operador (OperadorUmbralSuperior) para determinar el estado del indicador.

Valor umbral inferior Es el valor que se compara junto a su operador (OperadorUmbralInferior) para determinar el estado del indicador.

Observaciones Tabla 15: Entidad UmbralesXEstadosXIndicador.

Id

Unidad de medida Unidad de medida utilizado por ejemplo (Día, Semana, Mes, Año).

Observaciones Tabla 16: Entidad Unidades de medida.

Los valores históricos en una base de datos son muy importantes, y es por

este motivo que las entidades “Valor indicador” y “HST Umbrales X Estados X Indicador”, son las encargadas de almacenar los valores históricos de un indicador.

61

Page 62: Tesis de Grado - UNICEN

La entidad “Valor indicador” es la que tiene todos los valores de un indicador, por lo tanto están tanto los valores históricos como los valores actuales. Obviamente, que el valor actual para un indicador, es el que tiene la más reciente.

La entidad “HST Umbrales X Estados X Indicador” es la encargada de almacenar los valores históricos de los umbrales para cada indicador definido en fechas anteriores. Para lograr esto, esta entidad debe estar sincronizada con la entidad “Umbrales X Estados X Indicador”, la cual tiene los valores actuales de los umbrales.

3.5.2 Implementación de la base de datos

Con la necesidad de que la herramienta pueda interactuar con una base de datos, se debió pensar en una arquitectura de software basada en la persistencia de datos, con lo cual, hubo que contar con la tecnología JPA (Java Persistence API).

Para poder conectar la base de datos descripta en el apartado anterior con toda la funcionalidad del prototipo, se debieron utilizar distinto frameworks existentes.

Por un lado, se decidió que al ser una base de datos única para todo el sistema y de no tener a disposición un servidor para alojar la base de datos, utilizar el programa Wamp Server. A raíz de la utilización de este software, la base de datos se encuentra de manera local a la herramienta desarrollada. Además, Wamp Server soporta el lenguaje MySql, utilizado para la implementación de los scripts de la base de datos, como así también, una interfaz gráfica web para la manipulación de los datos muy sencilla para el usuario.

Por otro lado, se utilizó el framework Hibernate para la conexión entre la base de datos MySql alojada localmente con el lenguaje de programación elegido, Java. Hibernate es una herramienta de Mapeo objeto­relacional (ORM) para la plataforma Java que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones.[20]

Gracias a este framework, el manejo de los datos es realmente simple, ya que al ser un software ORM, toda la información de la base de datos puede ser manejada como objetos. Es decir, que cada tabla tiene su propia clase en java a la cual se le puede realizar consultas, y a través de anotaciones propias de Hibernate,

62

Page 63: Tesis de Grado - UNICEN

estas tablas se pueden relacionar al igual que las relaciones utilizadas en una base de datos.

Como se mencionó en la sección anterior, Hibernate está dentro del modelo como un paquete importante en el desarrollo del prototipo. Lo primero que se debe realizar es la configuración con el motor de la base de datos MySql, que para esta tesis se usó WampServer. Hibernate necesita un archivo cfg.xml con los parámetros definidos correctamente (Figura 30).

Figura 30: Archivo de configuración utilizado por Hibernate.

Por el contrario no solo necesita el archivo de configuración, sino que también un mapeo con Java. Por este motivo y para una mejor modularidad, se divide la lógica en dos partes: una para las consultas y otra para la parte estática.

63

Page 64: Tesis de Grado - UNICEN

En el siguiente diagrama de clases de la Figura 31, muestra la parte de Hibernate para realizar las distintas consultas.

Figura 31: Diagrama de clases consultas Hibernate.

Como se puede observar, cada clase representa a las distintas tablas que se

encuentran en la base de datos. Cada una de estas clases poseen las consultas y operaciones que se pueden realizar sobre las tablas para después poder utilizar la información obtenida, como es en la interfaz gráfica.

Cabe destacar, que para resolver la problemática de saber las tablas involucradas en las consultas, se empleó el patrón de diseño Factory en la clase FactoryConsultas (Figura 32). Este patrón tiene como objetivo decidir en tiempo de ejecución a que clase se corresponde para crear el objeto correcto.[25]

64

Page 65: Tesis de Grado - UNICEN

Figura 32: Clase FactoryConsultas.

Otro framework usado para el desarrollo del prototipo fue Dali JPA, cuyo

labor es que mediante el diagrama de relaciones y entidades de la base de datos cree automáticamente todas las clases y sus relaciones con el framework Hibernate en el lenguaje Java.

Cabe destacar que Hibernate y JPA son dos cosas distintas a pesar de ser frameworks de persistencia. JPA es una parte de la especificación de EJB 3 ( JSR 220) . Por lo tanto no existe realmente como framework, sino que es simplemente un documento. Un documento en el cual se especifica los principios básicos de gestión de la capa de persistencia en el mundo de Java EE. Hibernate en cambio sí que es algo real y se trata de un framework que gestiona la capa de persistencia a través de ficheros xml o anotaciones. La relación que existe entre JPA e Hibernate es que este último implementa como parte de su código la especificación de JPA. Es decir podemos usar Hibernate para construir una capa de persistencia apoyándonos en las definiciones y reglas que la especificación de JPA, aunque no es obligatorio. [21]

65

Page 66: Tesis de Grado - UNICEN

4 Casos de Estudio 4.1 Introducción

En el siguiente capítulo se expone un caso de estudio utilizado para el

análisis de los resultados obtenidos utilizando métodos matemáticos en el prototipo desarrollado en la de tesis de grado. El mismo se basa sobre indicadores propuestos de finanzas, los cuales se encuentran relacionados a la morosidad de una cartera de clientes. 4.2 Validación de los métodos en herramientas de software

La verificación de los métodos desarrollados en el prototipo, al utilizar

paquetes de R,su utilización es confiable. Esto es porque, como bien sabemos, cualquier aplicación de código abierto, los paquetes son tan confiables como lo son sus autores. O sea, los desarrolladores tienen una calificación basada en sus códigos desarrollados. Si se encuentra algún tipo de error, los usuarios son quienes reportan a CRAN (Comprehensive R Archive Network) para solucionar dicho error. 2

Si el desarrollador quiere crear un nuevo método en nuestro prototipo, y no existe un paquete que lo satisfaga, la validación queda en sus manos. 4.3 Caso de estudio aplicado en el prototipo

Como podemos observar y como se mencionó previamente, con el prototipo

no fue necesario comprobar cada uno de los resultados obtenidos, ni siquiera cargar los datos manualmente, ya que todo está a disposición del usuario.

2 Link de referencia: https://cran.r­project.org/ 66

Page 67: Tesis de Grado - UNICEN

Como ejemplo vamos a ver el método matemático Mínimos cuadrados. El método utilizado fue obtenido desde la siguiente página: https://www.uam.es/personal_pdi/ciencias/joser/paginaR/regresion.html

Primero, seleccionamos los valores históricos con los cuales queremos pronosticar y los arrastramos hacia el editor de texto. Una vez hecho esto, el prototipo nos va a dar la opción de que column de la tabla seleccionada queremos copiar:

Figura 33: Ventana emergente al hacer Drag & Drop para utilizar los valores de la tabla.

Estos valores se van a copiar donde se encuentre posicionado el cursor en el

editor de texto. En la siguiente imagen vemos el código completo :

Figura 34: Script en R del método Mínimos Cuadrados.

67

Page 68: Tesis de Grado - UNICEN

Las variables mes y valor son utilizadas para armar la tabla que van a contener los datos históricos. Con ella vamos a calcular la recta de mínimos cuadrados con el comando:

regresión <­ lm(valor ~ mes, data = x)

El primer argumento es la fórmula (valor ~ mes), en la cual valor es la variable dependiente y mes la variable independiente. El segundo argumento es donde se especifica el lugar donde se encuentran las dichas variables, en este caso x.

Para predecir el valor que pueden llegar a tener los meses desde enero a julio (desde el mes 1 al mes 3) utilizamos la recta de mínimos cuadrados. Para ésto sólo basta con crear un fichero que contenga las nuevas variables regresoras:

nuevas.meses <­ data.frame(mes= seq(1,3)) y luego utilizar el comando predict:

predict(regresión, nuevas.meses)

El resultado obtenido es:

Figura 35: Resultado obtenido en el prototipo con el método Mínimos Cuadrados.

Podemos concluir que, para el mes de febrero, el prototipo predice un valor de 8.0699900546.

68

Page 69: Tesis de Grado - UNICEN

Los siguientes comandos representan la nube de puntos (comando plot) y añaden la representación gráfica de la recta de mínimos cuadrados (comando abline aplicado al objeto generado por lm)

plot(x$mes, x$valor, xlab = "Mes", ylab = "Valor") abline(regresion)

Figura 36: Subconjunto de datos del indicador “Crédito total en monto” para el primer escenario.

Con el siguiente código se puede ver el gráfico de barras de los valores históricos con los pronosticados:

par(mfrow=c(1,2));

barcenter1<­ barplot(valor,xlab="Historico",ylab="Valor");

69

Page 70: Tesis de Grado - UNICEN

barcenter2<­ barplot(prediccion,xlab="Pronostico",ylab="Valor");

Figura 37: Comparación entre valores históricos y valores pronosticados.

4.4 Anexo a casos de estudio

En este apartado seguimos la línea de los casos de usos descritos en la

Tesis del Dr. Gustavo Illescas [1]. Aquí vamos a encontrar los resultados pronosticados contrastados con los datos históricos que obtuvimos a de la Base de Datos otorgada.

70

Page 71: Tesis de Grado - UNICEN

4.4.1 Métodos matemáticos para pronóstico utilizados

Pronóstico de indicadores

Pronóstico sobre el valor del indicador Mínimos cuadrados

Pronóstico sobre el estado del indicador

Método de Bayes Cadenas de Markov

4.4.2 Caso de estudio sobre finanzas

4.4.2.1 Configuración general para todos los métodos

El indicador seleccionado en este caso es “Crédito total en monto”. Este

indicador es de tipo mensual por lo que los siguientes períodos, según el subconjunto para pronosticar, corresponden al primer, segundo, tercer mes del año siguiente (01/01/2012, 01/02/2012, 01/03/2012). Los resultados de los pronósticos se comparan en las mismas fechas.

Todos los valores de los indicadores están expresados en pesos ($).

Los rangos de aceptación, según la clasificación por el método de cuartiles resultaron:

CRÍTICO: Mayor o igual a 904578,50

ACEPTABLE: Mayor o igual a 367296,88 y menor que 904578,50

ÓPTIMO: Menor que 367296,88

71

Page 72: Tesis de Grado - UNICEN

4.4.2.2 Datos de Finanzas, primer escenario: todos los datos

disponibles como subconjunto de datos

El período seleccionado para el subconjunto de datos de entrada para

pronosticar es desde el 01/08/2007 hasta el 01/12/2011. Entonces los subconjuntos de datos de entrada para pronosticar y para verificar el pronóstico obtenido son como los muestra la siguiente Tabla:

Figura 38: Subconjunto de datos del indicador “Crédito total en monto” para el primer escenario.

72

Page 73: Tesis de Grado - UNICEN

A­ Cadenas de Markov aplicado a indicadores de finanzas

Primer escenario: todos los datos disponibles como subconjunto de datos de

entrada. Aclaración: Como la fuente no es ergódica (todos los estados del proceso son

alcanzables desde otro estado­no hay estados o clases absorbentes) se optó por reemplazar el estado de 01/12/2011 por “VERDE”.

Tabla 17: Comparación de resultados del primer escenario de Markov.

Resultado: El método acierta en el segundo y tercer período de pronóstico.

73

Page 74: Tesis de Grado - UNICEN

B­ Mínimos cuadrados aplicado a indicadores de finanzas

Primer escenario: todos los datos disponibles como subconjunto de datos de entrada.

En la Figura 39 podemos observar el código en R utilizado para pronosticar el valor del indicador en el período 2012.

Figura 39: Script en R del método Mínimos Cuadrados.

Al ejecutar dicho código en nuestro prototipo, obtuvimos los siguientes resultados:

Figura 40: Resultado obtenido en el prototipo con el método Mínimos Cuadrados.

74

Page 75: Tesis de Grado - UNICEN

Tabla 18: Comparación de resultados del primer escenario de Mínimos Cuadrados.

Resultado: El método acierta en el segundo y tercer período de pronóstico.

75

Page 76: Tesis de Grado - UNICEN

C­ Método de Bayes aplicado a indicadores de finanzas

Primer escenario: todos los datos disponibles como subconjunto de datos de entrada.

En la Figura 41 podemos observar el código en R utilizado para pronosticar el valor del indicador en el período 2012.

Figura 41: Script en R del método de Bayes.

Al ejecutar dicho código en nuestro prototipo, obtuvimos los siguientes resultados:

Figura 42: Resultado obtenido en el prototipo con el método de Bayes.

76

Page 77: Tesis de Grado - UNICEN

Tabla 19: Comparación de resultados del primer escenario del método de Bayes.

Resultado: El método acierta en el segundo y tercer período de pronóstico.

77

Page 78: Tesis de Grado - UNICEN

4.4.2.3 Datos de Finanzas, segundo escenario: datos del último

período como subconjunto de datos

El período seleccionado para el subconjunto de datos de entrada es desde el

01/01/2011 hasta el 01/12/2011 para pronosticar mensualmente en 2012. Los subconjuntos de datos de entrada para pronosticar y para verificar el pronóstico obtenido:

Figura 43: Subconjunto de datos, último período del indicador “Crédito total en monto”.

78

Page 79: Tesis de Grado - UNICEN

A­ Cadenas de Markov aplicado a indicadores de finanzas

Segundo escenario: los datos del último período como subconjunto de datos de entrada.

Aclaración: Como la fuente no es ergódica (todos los estados del proceso son alcanzables desde otro estado­no hay estados o clases absorbentes) se optó por reemplazar el estado de 01/12/2011 y 01/11/2011 por “VERDE” y “AMARILLO” respectivamente.

Tabla 20: Comparación de resultados del segundo escenario de Markov.

Resultado: El método acierta en el primer período de pronóstico.

79

Page 80: Tesis de Grado - UNICEN

B­ Mínimos cuadrados aplicado a indicadores de finanzas Segundo escenario: los datos del último período como subconjunto de datos

de entrada. En la Figura 44 podemos observar el código en R utilizado para pronosticar

el valor del indicador en el período 2012.

Figura 44: Script en R del método Mínimos Cuadrados.

Al ejecutar dicho código en nuestro prototipo, obtuvimos los siguientes

resultados:

Figura 45: Resultado obtenido en el prototipo con el método Mínimos Cuadrados.

80

Page 81: Tesis de Grado - UNICEN

Tabla 21: Comparación de resultados del primer escenario de Mínimos Cuadrados.

Resultado: El método acierta en todos los períodos pronóstico, menos en el

segundo y tercero.

81

Page 82: Tesis de Grado - UNICEN

C­ Método de Bayes aplicado a indicadores de finanzas

Segundo escenario: los datos del último período como subconjunto de datos de entrada.

En la Figura 46 podemos observar el código en R utilizado para pronosticar el valor del indicador en el período 2012.

Figura 46: Script en R del método de Bayes.

Al ejecutar dicho código en nuestro prototipo, obtuvimos los siguientes

resultados:

Figura 47: Resultado obtenido en el prototipo con el método de Bayes.

82

Page 83: Tesis de Grado - UNICEN

Tabla 22: Comparación de resultados del primer escenario del método de Bayes.

Resultado: El método acierta en todos los períodos pronóstico, menos en el

segundo y tercero.

83

Page 84: Tesis de Grado - UNICEN

4.4.3 Caso de estudio sobre indicadores académicos

4.4.3.1 Configuración general para todos los métodos

Para obtenerlo se calcula el tiempo de carrera por cada egresado y al valor

del indicador se le asigna la fecha en que egresó. El período de este indicador es diario, considerado de esta manera dado que es posible que a diario un alumno egrese.

Al ser de tipo diario, los siguientes períodos, según el subconjunto para pronosticar corresponden al primer, segundo, tercer día de ocurrencia durante el siguiente subconjunto de datos para verificar el pronóstico obtenido .

Los rangos de aceptación, según la clasificación por el método de cuartiles resultaron:

CRÍTICO: Mayor o igual a 11 años ACEPTABLE: Mayor o igual a 8, menor que 11 años ÓPTIMO: Menor que 8 años

4.4.3.2 Académicos­Primer escenario : período 2011 como subconjunto de datos

El período seleccionado para el subconjunto de datos de entrada para

pronosticar es desde el 17/02/2011 hasta el 28/12/2011. Entonces los subconjuntos de datos de entrada para pronosticar y para verificar el pronóstico obtenido son como los muestra la siguiente tabla:

84

Page 85: Tesis de Grado - UNICEN

Figura 48: Subconjunto de datos, período 2011, del indicador “tiempo de carrera (años) en Ing.

Sistemas”.

85

Page 86: Tesis de Grado - UNICEN

A­ Cadenas de Markov aplicado a indicadores académicos

Primer escenario:período 2011 como subconjunto de datos como subconjunto de datos de entrada.

Tabla 23: Comparación de resultados del primer escenario de Markov.

Resultado: El método no acierta en ningún período de pronóstico.

86

Page 87: Tesis de Grado - UNICEN

B­ Mínimos cuadrados aplicado a indicadores académicos

Primer escenario:período 2011 como subconjunto de datos como subconjunto de datos de entrada.

En la Figura 49 podemos observar el código en R utilizado para pronosticar el valor del indicador en el período 2011.

Figura 49: Script en R del método Mínimos Cuadrados.

Figura 50: Resultado obtenido en el prototipo con el método Mínimos Cuadrados.

87

Page 88: Tesis de Grado - UNICEN

Tabla 24: Comparación de resultados del primer escenario de Mínimos Cuadrados.

Resultado: El método no acierta en ningún período de pronóstico.

88

Page 89: Tesis de Grado - UNICEN

C­ Método de Bayes aplicado a indicadores académicos

Primer escenario: los datos del período 2011 como subconjunto de datos de entrada.

En la Figura 51 podemos observar el código en R utilizado para pronosticar el valor del indicador en el período 2011.

Figura 51: Script en R del método de Bayes.

Figura 52: Resultado obtenido en el prototipo con el método de Bayes.

89

Page 90: Tesis de Grado - UNICEN

Tabla 25: Comparación de resultados del primer escenario del método de Bayes.

Resultado: El método no acierta en ningún período de pronóstico.

90

Page 91: Tesis de Grado - UNICEN

4.4.3.3 Académicos­Segundo escenario : período 2012 como subconjunto de datos

El período seleccionado para el subconjunto de datos de entrada para pronosticar es desde el 24/02/2012 hasta el 21/12/2012. Entonces los subconjuntos de datos de entrada para pronosticar y para verificar el pronóstico obtenido son como los muestra la siguiente Tabla:

Figura 53: Subconjunto de datos, período 2012, del indicador “tiempo de carrera (años) en Ing. Sistemas”.

91

Page 92: Tesis de Grado - UNICEN

A­ Cadenas de Markov aplicado a indicadores académicos

Primer escenario:período 2012 como subconjunto de datos como subconjunto de datos de entrada.

Tabla 25: Comparación de resultados del primer escenario de Markov.

Resultado: El método acierta en el primer y segundo período de pronóstico.

92

Page 93: Tesis de Grado - UNICEN

B­ Mínimos cuadrados aplicado a indicadores académicos

Primer escenario:período 2012 como subconjunto de datos como subconjunto de datos de entrada.

En la Figura 54 podemos observar el Resultado obtenido en el prototipo:

Figura 54: Resultado obtenido en el prototipo con el método Mínimos Cuadrados.

Tabla 26: Comparación de resultados del primer escenario de Mínimos Cuadrados.

Resultado: El método no acierta en ningún período de pronóstico.

93

Page 94: Tesis de Grado - UNICEN

C­ Método de Bayes aplicado a indicadores académicos

Primer escenario: los datos del período 2012 como subconjunto de datos de

entrada. En la Figura 55 podemos observar el Resultado obtenido en el prototipo:

Figura 55: Resultado obtenido en el prototipo con el método de Bayes.

Tabla 27: Comparación de resultados del primer escenario del método de Bayes.

Resultado: El método acierta en el primer y segundo período de pronóstico.

94

Page 95: Tesis de Grado - UNICEN

5 Conclusión

La idea central de este proyecto ha sido la de desarrollar un prototipo de fácil uso e intuitivo que ayude a la toma de decisiones, llevándose a cabo a través de métodos matemáticos aplicados a los indicadores almacenados en la base de datos.

A lo largo de toda la investigación realizada durante la tesis de grado, nos encontramos con una gran cantidad de herramientas de software que tratan la problemática, pero todas cuentan con algunas desventajas.

Nos hemos inclinado a realizar un prototipo de tipo desktop tomando las principales ventajas de las herramientas de softwares explicadas anteriormente en el capítulo “Estado del Arte”, ya que son la más utilizadas en el ambiente matemático porque se obtiene una mejor performance siendo desktop que utilizando la tecnología para desarrollar una versión web. Uno de los puntos en el que vimos la oportunidad de darle una ventaja a nuestra herramienta, a parte de ser gratuita, sobre las otras es la inclusión de R, como lo hace Infostat. Este lenguaje es muy versátil, permitiendo realizar los métodos matemáticos que necesite el usuario. Así como también, sus gráficos son sofisticados y mejor que la de la mayoría de los paquetes gráficos de las otras herramientas. Además son muy claros para poder analizar y comprender los resultados fácilmente. Otra virtud que vimos en R es que contiene una infinidad de paquetes para que al usuario le sea mucho más sencillo programar.

Al tomar la decisión de realizar una herramienta que integre al lenguaje matemático R y al lenguaje de programación Java, pudimos denotar que juntando dos tipos de lenguajes totalmente diferentes, poder lograr un prototipo fácil de usar y sin perder la performance a la hora de realizar los cálculos matemáticos.

Además con la utilización de Java, el prototipo se puede correr en cualquier plataforma desktop, como así también la posibilidad, mediante la integración de diferentes frameworks a Java, de integrar base de datos. Con esto último, se logra aplicar métodos matemáticos sobre los datos que residen allí y analizar sus resultados.

Por otro lado, podemos ver, como sucede en los casos de estudio, que basta simplemente con buscar el paquete a utilizar y realizar el método sin la necesidad de verificar con herramientas externas si el resultado del método matemático es el correcto o no. Además, cabe destacar, que los errores del usuario se ven

95

Page 96: Tesis de Grado - UNICEN

disminuidos, ya que ahora no se deben realizar algoritmos propios complejos que puedan acarrear errores en los resultados arrojados, debido a que las librerías que se encuentran en R están lo suficientemente verificadas y validadas por los usuarios. Estas características del lenguaje matemático R, es la que hace que sea tan importante y utilizado por el medio matemático.

96

Page 97: Tesis de Grado - UNICEN

6 Trabajo futuro

Como continuación de este trabajo de tesis y como en cualquier otro proyecto de investigación, existen diversas líneas de investigación que quedan abiertas y en las que es posible continuar trabajando. Durante el desarrollo de esta tesis han surgido algunas líneas futuras que se han dejado abiertas y que se espera que sean atendidas en un futuro.

A continuación se presentan algunos trabajos futuros que pueden desarrollarse como resultado de esta investigación o que, por exceder el alcance de esta tesis, no han podido ser tratados con la suficiente profundidad.

Continuar con el desarrollo del software para mejorar la usabilidad y la

performance de la misma, ya que al tratarse de un prototipo la herramienta desarrollada sería el principal trabajo a futuro.

Poder utilizar un servidor y que la herramienta puede conectarse fácilmente a él, para que todos los que la utilicen puedan trabajar con la misma base de datos y así lograr que todos accedan a los mismos datos.

Extender la funcionalidad de conectarse distintas bases de datos, ya que hoy en día es posible conectarse a sola y en el único lenguaje MySql.

Brindar la posibilidad de guardar en la base de datos los resultados arrojados por los métodos matemáticos realizados con el prototipo. Aunque este punto no fue solicitado como requerimiento funcional, ya que la base de datos no podía tener la propiedad de ser escrita a través de la herramienta, sino que debería ser modificable desde la herramienta de tesis de Etchepare­Servat.

Poder usar la herramienta en distintas plataformas, logrando así la posibilidad de usarse mediante un browser logrando la portabilidad de la misma.

97

Page 98: Tesis de Grado - UNICEN

7 Bibliografía

[1] Illescas, Roberto Gustavo. (2014). Aplicación de métodos matemáticos en el control de gestión por indicadores (Tesis doctoral). Departamento de Computación y Sistemas y Departamento de Matemáticas. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas. Tandil. [2] Julio Sergio Santana, Efraín Mateos Farfán. El arte de programar en R: un lenguaje para la estadística. México: Instituto Mexicano de Tecnología del Agua. UNESCO. Comité Nacional Mexicano del Programa Hidrológico Internacional, ©2014. [3] Software InfoStat. Sitio Web: http://www.infostat.com.ar/ [4] Software Matlab: Sitio Web: http://www.mathworks.com/products/matlab/ [5] Software Scilab: Sitio Web: http://www.scilab.org/ [6] OLVE N.; ROY J.; WETTER M. (2000): “Implantando y gestionando el cuadro de mando integral”. Ed. Gestión 2000. Barcelona. [7] Una introducción rápida a Scilab. Sitio Web: http://personal.us.es/echevarria/documentos/ApuntesScilab.pdf ) [8] Matlab, guía de ayuda. Sitio Web: http://proton.ucting.udg.mx/~cheko/pdf/matv.pdf [9] Software Scilab, Documentación y Ayuda: Sitio Web: http://help.scilab.org/docs/5.5.2/en_US/section_36184e52ee88ad558380be4e92d3de21.html [10] Software Matlab, precios y versiones. Sitio Web: http://www.mathworks.com/pricing­licensing/index_b.html?prodcode=ML&s_iid=main_pl_ML_nav

98

Page 99: Tesis de Grado - UNICEN

[11] Software Matlab, documentación. Sitio Web: http://www.mathworks.com/products/matlab/examples.html [12] Software Matlab, videos on­line. Sitio Web: http://www.mathworks.com/products/matlab/webinars.html [13] Laura A. Gonzalez. InfoStat, Software Estadístico [on­line]. 2008. Disponible en: http://tecdigital.tec.ac.cr/file/3119766/manual [14] Tableau Software. Sitio Web: https://en.wikipedia.org/wiki/Tableau_Software [15] Tableau Software. Precios y versiones. Sitio Web: https://tableau.secure.force.com/webstore [16] Qlik Software. Qlik Sense. Sitio Web: www.qlik.com [17] Qlik Software. Precios y versiones de Qlik Sense. Sitio Web: http://www.qlik.com/pricing [18] José Miguel Contreras García, Elena Molina Portillo, Pedro Arteaga Cezón. “Introducción a la programación estadística con R para profesores”. Sitio Web: http://www.ugr.es/~batanero/pages/ARTICULOS/libroR.pdf [19] Illescas, Roberto Gustavo. (2014). Aplicación de métodos matemáticos en el control de gestión por indicadores (Tesis doctoral). Departamento de Computación y Sistemas y Departamento de Matemáticas. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas. Tandil. [20] Hibernate Framework. Sitio Web: http://hibernate.org/orm/ [21] JPA vs Hiberante. Sitio Web: http://www.genbetadev.com/frameworks/jpa­vs­hibernate

99

Page 100: Tesis de Grado - UNICEN

[22] JavaFX. Sitio Web: http://www.oracle.com/technetwork/es/articles/java/construir­aplicacion­java­fx­y­ee­7­2008112­esa.html [23] Chain of Responsability. Sitio web: https://en.wikipedia.org/wiki/Chain­of­responsibility_pattern [24] Validación de paquetes de R. Sitio Web: http://stackoverflow.com/questions/4681034/how­reliable­is­the­r­programming­language [25] Patrón de diseño Factory. Sitio Web: https://sourcemaking.com/design_patterns [26] Patrón de diseño Observer. Sitio Web: https://sourcemaking.com/design_patterns

100