• No se han encontrado resultados

CRONOS-ANALYZER: Herramienta para el análisis y extracción de conocimiento a partir de

N/A
N/A
Protected

Academic year: 2023

Share "CRONOS-ANALYZER: Herramienta para el análisis y extracción de conocimiento a partir de"

Copied!
202
0
0

Texto completo

Algunos de ellos son la dificultad para estimar la duración de las actividades, la aparición de nuevas tareas que pueden retrasar las que están en curso o la incertidumbre provocada por el factor humano. A partir de la segunda etapa el rendimiento comienza a decaer y existe mayor probabilidad o riesgo de sufrir algún problema de salud [MEL06].

Propuesta

Estructura del documento

El tercer apéndice contiene el script de creación de la base de datos (ver apéndice E). A continuación se muestra la Figura 5.17, donde se puede ver un diagrama completo del diseño de la base de datos.

Objetivos 5

Objetivos específicos

  • Objetivo 1: Extracción de conocimiento
  • Objetivo 2: Desarrollo de una aplicación web

Antecedentes 9

Descripción general

Según esta curva, existe una relación entre la jornada laboral y el nivel de bienestar del trabajador, donde tanto no trabajar como trabajar por un período de tiempo muy largo es malo. En este último caso, en el que se trabaja durante un periodo muy prolongado, el nivel de bienestar es bajo a pesar de tener una alta sensación de satisfacción, ya que el exceso de trabajo también puede provocar trastornos psicológicos.

Estrés y otros problemas

Estos robos de tiempo no siempre se pueden evitar, pero se pueden minimizar o realizar de la manera más productiva posible, para que tengan el menor impacto posible en el rendimiento. En la figura 3.2 se puede ver una representación de cómo varía el nivel de resistencia dependiendo de la fase de estrés en la que se encuentra el individuo.

Herramientas de gestión del tiempo personal

  • Herramientas de time tracking
  • Herramientas de asistente personal

Se puede acceder a Harvesta online o desde varias plataformas, y al igual que Toggl, se ha integrado en diversas herramientas que les aportan un gran valor añadido. También proporciona monitorización de la respiración y, una vez evaluado el nivel de estrés del usuario, ofrece una variedad de recomendaciones personalizadas y artículos para leer.

Tabla 3.1: Comparativa de herramientas de time tracking 3.1.3.2. Herramientas de asistente personal
Tabla 3.1: Comparativa de herramientas de time tracking 3.1.3.2. Herramientas de asistente personal

Extracción y explotación del conocimiento

  • Big Data
    • Big Data Analytics
    • Ciencia de datos
    • Ingeniería de datos

Cada conjunto de datos requiere un tratamiento de limpieza de datos y la aplicación de diferentes técnicas. De esta forma, los científicos pueden analizar grandes volúmenes de datos que serían inaccesibles con medios tradicionales.

Figura 3.3: Esquema genérico de la extracción de conocimiento
Figura 3.3: Esquema genérico de la extracción de conocimiento

Algoritmos de Aprendizaje automático

  • Algoritmos de clustering
    • Algoritmos jerárquicos
    • Algoritmos planos
    • Ventajas y desventajas
    • Criterios de calidad
  • Árboles de decisión
    • Algoritmos de construcción de árboles de decisión

Los criterios de calidad son importantes para evaluar la calidad y confiabilidad de los grupos generados por algoritmos de agrupamiento. La Figura 3.8 muestra un diagrama que muestra el procedimiento para utilizar un árbol de decisión.

Figura 3.5: Clasificación de algoritmos de clustering 11
Figura 3.5: Clasificación de algoritmos de clustering 11

Aplicación web

  • Arquitectura de tres capas
    • Diferencias con la arquitectura de dos capas
  • Ventajas y desventajas de las aplicaciones web

En esta iteración se realizó el diseño de la base de datos de la aplicación y se crearon módulos para acceder, importar y configurar el sistema.

Figura 3.11: Arquitectura de tres capas
Figura 3.11: Arquitectura de tres capas

Método de trabajo 33

KDD

Selección de Datos: El propósito de este proceso es obtener el mapa de datos y consta de dos partes. Esta fase implica operaciones como eliminar ruido y determinar estrategias para lidiar con datos faltantes e inconsistentes. La reducción de datos se realiza fusionando los registros y generando nuevos atributos basados ​​en los existentes.

SEMMA

Interpretación y evaluación: En esta última fase se realiza una visualización de los patrones y una evaluación de los resultados obtenidos. También se decide si es necesario perfeccionar alguno de los procesos anteriores si los resultados generados no se consideran aceptables. Exploración: Análisis de datos de muestra mediante técnicas de visualización o herramientas estadísticas, buscando relaciones entre variables.

CRISP-DM

Evaluación: Los resultados obtenidos y el modelo se evalúan mediante herramientas estadísticas y comparaciones con otras muestras del conjunto de datos. Comprensión de los datos: Proceso que va desde la recopilación de datos hasta la verificación de su calidad. Preparación de datos: se selecciona un conjunto de datos y se realiza un preprocesamiento.

Elección de la metodología de extracción de conocimiento

Se eligió KDD para proporcionar una guía general de trabajo sin profundizar demasiado en cada proceso, dejando así mayor libertad al desarrollador. Además, no se establece un proceso de despliegue del sistema, por lo que se puede hacer una separación entre la extracción de conocimientos y patrones adquiridos, y el desarrollo del sistema que hace uso de ellos. Finalmente, fue la primera metodología aceptada en la comunidad científica, mientras que el resto puede verse como una implementación de sus procesos, lo que hace interesante su estudio y aplicación en un proyecto real.

Metodología de desarrollo del software

  • Elección de la metodología de trabajo

La primera razón es que el grupo de trabajo es mínimo y no es necesario un número elevado de roles. Sin embargo, la realización de la extracción de conocimiento se aborda con un desarrollo en espiral, ya que es común refinar los procesos una vez finalizados, si no se logra el resultado deseado. En concreto se ha utilizado una variación, en este caso se trata del modelo espiral WIN WIN, donde se enfatiza la participación del cliente, y por tanto sigue una filosofía muy cercana a la metodología ágil.

Conceptos básicos de Scrum

  • Definición de Scrum
  • Equipo Scrum
  • Elementos de Scrum
  • Historias de usuario

Este rol es clave para el éxito del proyecto, ya que intenta evitar distracciones y barreras que puedan surgir en el equipo. Sprint Planning: Se define como una reunión de planificación al inicio de cada Sprint, donde el equipo de desarrollo y el Product Owner generan acuerdos y compromisos, especificando así el alcance de la iteración. Negociable: la redefinición de los criterios de aceptación y la creación o eliminación de historias de usuarios se negocian entre el cliente y el equipo.

Kanban

Estimable: A pesar de la incertidumbre, cada historia de usuario debe ser estimada, siempre y cuando esté bien definida y no falte conocimiento técnico y funcional. Verificable: antes de desarrollar la historia del usuario, los equipos solicitan criterios de aceptación del cliente para verificar la funcionalidad. Este flujo se divide en tres bloques, en función del estado de las historias de usuario: 'Pendiente', 'En proceso' y 'En proceso'.

Utilización de la metodología en el proyecto

  • Uso de Scrum en el proyecto

A continuación se describe el modelo de historia de usuario seguido durante el desarrollo de este proyecto. Por ejemplo, la siguiente historia de usuario "HU1603" corresponde a la tarea número 3 de la semana 16. Pruebas de aceptación: Conjunto de pruebas necesarias para verificar que la historia de usuario se ha completado satisfactoriamente.

Figura 4.4: Plantilla de historia de usuario seguida 6
Figura 4.4: Plantilla de historia de usuario seguida 6

Marco tecnológico

  • Medios hardware
  • Medios software

Otro punto favorable es la multitud de complementos que ofrece para interactuar con otras herramientas8. También permite obtener gráficas de tiempo, algo muy útil para generar presupuestos e informes9. Spring Framework: este marco proporciona un modelo integral de programación y configuración para crear aplicaciones basadas en Java.

Planificación

  • Iteración 0: Preparación del proyecto y esqueleto de la aplicación web 49
  • Iteración 2: Modelo de la base de datos y módulos de acceso, impor-
  • Iteración 3: Módulo de monitorización
  • Iteración 4: Módulo de predicción
  • Iteración 5: Refinamiento del proceso de extracción del conocimien-

Tiempo Efectivo: El tiempo invertido en completar una tarea sin agregar interrupciones. Finalmente se realizó una prueba no funcional del desempeño de la aplicación que se comunica con la base de datos.

Figura 4.7: Iteración 0. Duración
Figura 4.7: Iteración 0. Duración

Resultados 55

Requisitos deseables de la aplicación web

REQ_NF_02 Una de las propiedades que debe tener una aplicación es la concurrencia, ya que puede haber más de un usuario en el sistema al mismo tiempo solicitando una base de datos. REQ_NF_03 La aplicación debe integrar el módulo de seguridad para que el usuario no pueda. REQ_NF_04 Agregar un sistema que permita al usuario cerrar sesión después de un cierto período de inactividad. REQ_NF_05 En términos de accesibilidad, la navegación entre diferentes páginas debe ser lo más intuitiva posible para el usuario.

Arquitectura del sistema

REQ_F_01 Disponibilidad de una interfaz de registro de usuarios y acceso al sistema REQ_F_02 Desarrollo de un proceso de importación de registros. De esta manera no es necesario volver a compilar el sistema si desea realizar cambios (configurabilidad).

Iteración 0: Preparación del proyecto y esqueleto de la aplicación web

Para el desarrollo de la aplicación se eligió el lenguaje Java, por lo que se utilizó Spring Framework. Los controladores son aquellas clases que actúan como intermediarios entre el cliente y el servidor, mientras los procesos ejecutan la lógica de la aplicación. También contiene una carpeta de recursos, que se diferencia de las demás carpetas de recursos analizadas en el párrafo anterior principalmente en que almacena recursos que se ejecutan en el lado del cliente, como CSV y javascript.

Iteración 1: Extracción de conocimiento

  • Datos disponibles y selección
  • Preproceso
  • Transformación
    • Agregación por días
    • Agregación por semanas
  • Minería de datos
    • Proceso de clustering
    • Generación de dendrogramas
    • Árboles de decisión
    • Definición de patrones
    • Conclusiones

Proyecto de tarea: esta es una etiqueta que incluye todos los grupos de tareas similares. A los días en los que no se trabajó se les asignó un valor de -1, independientemente del impacto que pudiera tener. El promedio de días trabajados se sitúa entre seis y siete días y el tiempo efectivo es el mayor de los tres grupos.

Figura 5.6: Ejemplo de registros
Figura 5.6: Ejemplo de registros

Iteración 2: Modelo de la base de datos y módulos de acceso, importación y

Se diferencia de la tabla anterior en que el proceso que utiliza estos datos tiene en cuenta la configuración de los días "peso". Así, el usuario puede cambiar las reglas sin tener que cambiar el código fuente de la aplicación. El último módulo creado en esta iteración es uno de configuración, cuyo propósito es permitir al usuario definir por defecto el peso de los días, es decir, el número total de horas dedicadas a realizar tareas en cada día de la semana, al mismo tiempo que pudiendo distinguir entre días vísperas y festivos.

Foto blob
Foto blob

Iteración 3: Módulo de monitorización

Por un lado, generar gráficas de control y gráficas de curvas de tensión. Una vez calculadas la media y la desviación estándar de los datos obtenidos, se generan gráficos de control y trazados de curvas de voltaje. Una vez hecho esto, queremos calcular el estado de estrés actual del usuario.

Figura 5.21: Ejemplo de mapa de calor
Figura 5.21: Ejemplo de mapa de calor

Iteración 4: Módulo de predicción

Como se vio anteriormente, observar la curva de estrés muestra cómo la productividad varía según el nivel de estrés de la persona. Por ejemplo, si comparamos la curva de estrés de una semana intensa con la de una semana menos productiva, vemos que en un nivel de estrés óptimo, el rendimiento en la semana intensa es mucho mayor que en la semana menos productiva. Si observamos cómo se comporta la curva cuando el nivel de estrés supera el nivel óptimo, podemos ver que el rendimiento disminuye más en una semana intensiva que en una semana menos productiva.

Figura 5.26: Posibles curvas de estrés para la predicción
Figura 5.26: Posibles curvas de estrés para la predicción

Iteración 5: Refinamiento del proceso de extracción de conocimiento y prue-

  • Refinamiento del proceso de extracción de conocimiento
    • Proceso de clustering

Este apéndice muestra algunas partes del código y configuraciones creadas para la aplicación web. Listado D.1: Configuración de ruta de propiedad y controlador La siguiente lista muestra el nombre de las vistas. La siguiente lista muestra un ejemplo de la configuración de la máquina de estados y sus transiciones.

La página de productividad diaria muestra un mapa de calor de la productividad diaria del usuario así como información de cada uno de los colores. Esta página muestra la previsión de carga de trabajo para la próxima semana.

Figura 5.27: Dendrograma de la agregación de días. Segunda iteración
Figura 5.27: Dendrograma de la agregación de días. Segunda iteración

Figure

Figura 3.1: Curva del bienestar 1
Tabla 3.1: Comparativa de herramientas de time tracking 3.1.3.2. Herramientas de asistente personal
Figura 3.3: Esquema genérico de la extracción de conocimiento
Figura 3.5: Clasificación de algoritmos de clustering 11
+7

Referencias

Documento similar

Dorsal Nombre Club Licencia F... Dorsal Nombre Club