Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Construcción de Un Prototipo de Datamart para Realizar Inteligencia de Negocios
Construcción de Un Prototipo de Datamart para Realizar Inteligencia de Negocios
FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR INGENIERÍA DE SISTEMAS
BOGOTÁ D.C.
2021
CONSTRUCCIÓN DE UN PROTOTIPO DE DATAMART PARA REALIZAR
INTELIGENCIA DE NEGOCIOS CON LOS RESULTADOS DE LAS PRUEBAS
SABER 5° Y 9° DURANTE EL PERIODO 2017-2019.
PROYECTO DE GRADO
DIRECTORA
ALBA CONSUELO NIETO LEMUS
MSc. INGENIERÍA DE SISTEMAS Y COMPUTACIÓN
FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR INGENIERÍA DE SISTEMAS
BOGOTÁ D.C.
2021
AGRADECIMIENTOS
Agradezco a mi directora de tesis MSc. Alba Consuelo Nieto Lemus, por toda la
dedicación, la paciencia y orientación durante el desarrollo de este proyecto, por
haber trasmitido todos sus conocimientos incondicionalmente. Fue muy importante
en esta etapa contar con su ayuda.
A mi jurado, Ph.D. Sonia Ordóñez Salinas, que mediante su labor tomo el tiempo
para leer, revisar y dar sus aportes para tener en cuenta en el desarrollo de esta
investigación.
Tabla 1. Número de estudiantes evaluados por grado y por año [3]. .................... 14
Tabla 2. Pruebas y grados evaluados en cada año de aplicación [2]. ................... 29
Tabla 3. Número de estudiantes evaluados por grado y por año. ......................... 29
Tabla 4. Resumen de los Sprints. ......................................................................... 41
Tabla 5. Resumen sprint 1. Elaboración propia..................................................... 47
Tabla 6. Documentación caso de uso CU02-01. Elaboración propia. ................... 58
Tabla 7. Documentación caso de uso CU02-02. Elaboración propia. ................... 59
Tabla 8. Documentación caso de uso CU02-03. Elaboración propia. ................... 60
Tabla 9.Documentación caso de uso CU03-01. Elaboración propia. .................... 61
Tabla 10. Documentación caso de uso CU03-02. Elaboración propia. ................. 61
Tabla 11. Documentación caso de uso CU03-03. Elaboración propia. ................. 62
Tabla 12. Documentación de caso de uso CU03-04. Elaboración propia. ............ 63
Tabla 13. Documentación de caso de uso CU03-05. Elaboración propia. ............ 64
Tabla 14. Documentación de caso de uso CU03-06. Elaboración propia. ............ 65
Tabla 15. Documentación caso de uso CU04-01. Elaboración propia. ................. 66
Tabla 16. Documentación caso de uso CU04-02. Elaboración propia. ................. 67
Tabla 17.Documentación de casos de uso CU04-03. Elaboración propia. ........... 68
Tabla 18. Documentación de caso de uso CU04-04. Elaboración propia. ............ 69
Tabla 19. Documentación de caso de uso CU04-05. Elaboración propia. ............ 69
Tabla 20. Documentación de caso de uso CU04-06. Elaboración propia. ............ 70
Tabla 21. Descripción de los datos. Elaboración propia. ....................................... 85
Tabla 22.Matriz de bus. Elaboración propia. ......................................................... 90
Tabla 23. Tabla de convenciones del modelo dimensional. Elaboración propia. .. 90
Tabla 24. Tabla de hechos para el modelo dimensional 1. Elaboración propia. ... 92
Tabla 25.Tabla de hechos para el modelo dimensional 2. Elaboración propia. .... 92
Tabla 26. Resumen Sprint 3. Elaboración propia. ............................................... 105
Tabla 27.Documentación procedimiento almacenado CargarSocieconomicas.
Elaboración propia .............................................................................................. 111
Tabla 28.Documentación procedimiento almacenado CargarEstudiante.
Elaboración propia. ............................................................................................. 111
Tabla 29. Resumen sprint 4. elaboración propia. ................................................ 113
Tabla 30. Resultado consulta MDX para El colegio Luis Enrique Osorio.
Elaboración propia. ............................................................................................. 118
Tabla 31. Resumen sprint 5. Elaboración propia. ................................................ 121
Tabla 32. Roles PostgreSQL. elaboración propia. .............................................. 123
Tabla 33.Roles Pentaho server. elaboración propia. ........................................... 123
Tabla 34. Entregables del proyecto. elaboración propia. .................................... 124
Tabla 35.Documentación dimensión tiempo. Elaboración propia ........................ 133
Tabla 36.Documentación procedimiento almacenado CargarColegio. Elaboración
propia. ................................................................................................................. 133
Tabla 37.Documentación procedimiento almacenado CargarSede. Elaboración
propia. ................................................................................................................. 133
Tabla 38.Documentación procedimiento almacenado CargarCitacion. Elaboración
propia. ................................................................................................................. 134
Tabla 39. Documentación procedimiento almacenado CargarTiempo. Elaboración
propia. ................................................................................................................. 134
INDICE DE FIGURAS
1.1 INTRODUCCIÓN
Estas pruebas tienen como objetivo conocer el estado actual de los conocimientos
de los estudiantes, además de hacer un seguimiento con los resultados históricos.
Son elaboradas para que las instituciones puedan conocer debilidades y fortalezas,
y que de esta manera se generen estrategias para mejorar la calidad de educación
[1]. Para el Icfes también es importante conocer las razones y factores que llevan a
estos resultados. Dichos factores se obtienen a través de información que se brinda
por parte de estudiantes, profesores y rectores, y que hace parte del entorno
personal y podría estar relacionada con el desempeño en las pruebas.
Los datos que entrega el Icfes a las entidades se presentan agregados y resumidos
estadísticamente a nivel de institución educativa y entidad territorial, basados
únicamente en el valor del resultado de cada área evaluada, dejando a un lado
información importante como los datos socioeconómicos y demográficos, que
pueden tener relaciones directas o indirectas con los resultados individuales de los
estudiantes. Por otro lado, la extracción de los datos se hace difícil para las
personas que no están familiarizadas con herramientas tecnológicas y más cuando
se trata de realizar estudios de inteligencia de negocios.
Este proyecto tuvo como finalidad construir un DataMart que facilita el análisis de
los resultados de las pruebas de 5° y 9° para los años del 2017-2019, por medio de
la inteligencia de negocios, para ver aspectos que a simple vista no son identificados
en los reportes estadísticos entregados actualmente por el Icfes. Se va a simplificar
la visualización con una herramienta open source para las personas interesadas en
la investigación, de igual manera para las instituciones educativas que quieran
conocer aspectos que le permitan generar estrategias para mejorar los resultados
de sus estudiantes en una etapa temprana de formación.
1.2 PLANTEAMIENTO DEL PROBLEMA
El Icfes es una entidad del estado ligada al Ministerio de Educación Nacional que,
en su facultad de ofrecer un servicio de evaluación de la educación por medio de
los exámenes de estado en sus diferentes niveles, publica los resultados obtenidos
para crear proyectos e investigaciones, que permitan concebir estrategias y tomar
decisiones que permitan mejorar la calidad [2].
En cumplimiento de su misión, el Icfes estableció las pruebas saber para los grados
3°, 5° y 9, entre otras. Estas pruebas se han venido aplicando desde el año 2009
hasta el 2017 con una cobertura inicial de 1’520.713, llegando hasta 2’132.611 de
evaluados. En el año 2018 no se aplicaron las pruebas por ajustes institucionales;
se aplicaron nuevamente en el año 2019 y a la fecha (2021), se está a la espera de
los resultados.
3° 5° 9°
2009 0 859.624 661.089
2012 782.549 774.236 583.866
2013 772.702 759.515 578.625
2014 773.139 758.905 590.935
2015 749.851 711.610 549.240
2016 779.346 752.259 586.152
2017 762.724 778.863 591.024
Tabla 1. Número de estudiantes evaluados por grado y por año [3].
Los datos están disponibles en el servidor FTP del Icfes, distribuidos en diferentes
carpetas como se ven en la
Figura 1. Los resultados de cada una de las pruebas se almacenan en formatos
“.txt”, “.csv” y algunos “.pdf”. La disposición de los datos se encuentra en un orden
que es poco accesible y de difícil manejo e interpretación para investigadores y
personas interesadas en hacer estudios, y que en general no conocen de la
estructura de los datos, ni de herramientas, ni de aspectos tecnológicos que
permitan su procesamiento y análisis.
Además de los resultados, también es publicada la información de los factores
socioeconómicos del estudiante, en la que se incluyen preguntas como ¿Qué bienes
posee?, ¿cómo se desplaza hacia el colegio?, ¿Qué nivel de educación tienen los
padres?, ¿Tiene internet en la casa?, entre otros, que podrían ser factores que
sirvan para entender qué condiciones pueden afectar el desempeño del estudiante
en las pruebas. Es importante aclarar que las variables socioeconómicas no son
consideradas en las estadísticas que publica actualmente el Icfes, pues como se
mencionó anteriormente, sólo se analizan los resultados grupales de la prueba.
Figura 1. Datos presentados por el Icfes en el servidor FTP1.
Finalmente, es muy difícil extraer todos los datos desde el repositorio FTP del Icfes,
porque están distribuidos en múltiples carpetas por año, y cada carpeta puede
contener información diferente. Además, los datos se presentan en distintos
formatos de archivo (csv, txt, pdf), la estructura de los archivos puede variar en a
través de los años, incluyendo o excluyendo información, lo cual dificulta la lectura
y análisis de los mismos.
1.3 OBJETIVOS
1Es necesario generar una cuenta para acceder al siguiente enlace (ftp://ftp.icfes.gov.co/).
2Los factores asociados son componentes o elementos que se relacionan al entorno y composición
socioeconómica del estudiante, por ejemplo, uso del internet, bienes que posee en el hogar, trabajo
y nivel educativo de los padres, entre otros.
1.3.2 OBJETIVOS ESPECIFICOS
1.4 JUSTIFICACIÓN
1.4.1 ACADÉMICA
El desarrollo de una herramienta web para apoyar el proceso de inteligencia de
negocios a partir de datos de desempeño recolectados en las pruebas saber 5° y 9°
permitirá que personas que no tienen un manejo suficiente de la tecnología puedan
hacer los análisis que requieran, sin tener que ejecutar complejos procedimientos
manuales para la extracción transformación y carga de los datos. La construcción
del modelo para las pruebas saber 5° y 9°, puede servir como base metodológica
de trabajo para ser implementada en otros escenarios, como las pruebas saber 11°.
1.4.2 SOCIAL
Este proyecto pretende estudiar desde una herramienta tecnológica los resultados
de las pruebas saber de los grados 5° y 9° para contribuir al crecimiento de la
investigación de manera que entidades educativas puedan entender, establecer
rutas de trabajo y formular estrategias que permitan mejorar los resultados en una
etapa temprana de la educación. También soluciona el problema de acceso a los
datos, con vistas más amigables para generar informes o reportes de los análisis
ejecutados sobre el DataMart.
1.4.3 INVESTIGATIVA
La presente investigación se enfocará en la implementación de la metodología de
desarrollo de bodegas de datos de Ralph Kimball en el proceso de construcción de
un DataMart, con el fin de analizar a un nivel de detalle más específico aspectos
que no se tienen en cuenta en los reportes actuales entregados por el Icfes, como
por ejemplo los factores asociados al desempeño.
1.5.1 ALCANCES
• Se plantea trabajar con los datos de las pruebas 5° y 9° que están publicados
en el servidor FTP, datos que están disponibles para el público de manera
libre en formato de archivo plano. Aunque en este documento se mencionan
los resultados de las pruebas 3°, 5° y 9°, se excluyen las pruebas saber 3°
porque no se evalúan áreas como ciencias y competencias ciudadanas,
además la estructura de la prueba y la periodicidad de aplicación es diferente
a las de los grados 5° y 9.
• La selección de las variables socioeconómicas asociadas al desempeño que
se incluirán en el análisis, se hará de acuerdo a los datos base, es decir, a
las preguntas que se realizan año tras año y su continuidad en el tiempo.
• Las pruebas en otros niveles educativos como SABER 11, SABER PRO y las
pruebas del grado 3° no se tendrán en cuenta en el proyecto, ya que estas
pruebas son diferentes y no tienen las mismas características.
• Las herramientas de trabajo en su totalidad serán software libre, porque son
de fácil acceso y robustas para los procesos OLAP que se van a realizar.
• En un principio, el DataMart estará disponible en un servidor de prueba de
libre acceso, para que los interesados puedan realizar las consultas que
requieran.
• Se contemplan los años del 2017 en adelante, esto porque los resultados de
los años anteriores fueron entregados en valores plausibles.
1.5.2 LIMITACIONES
• La generación de estrategias y planes de mejoramiento académico, serán
formuladas por parte de las entidades educativas y los investigadores
interesados en el tema. Estas estrategias no están contempladas dentro de
los alcances del proyecto.
• La adquisición de los datos va a estar sujeta a la disposición del Icfes en el
servidor FTP, esto quiere decir, que cualquier modificación o problema con
el servidor de datos, deberá ser considerado dentro del proyecto para realizar
los ajustes necesarios.
• El Ministerio de Educación y el Icfes, determinaron no ejecutar a nivel
nacional las Pruebas Saber 2018 para los grados 3, 5 y 9, por un cambio de
metodología que se había previsto desde hace 3 años para este, es por esta
razón que no hay datos para el año 2018 [5].
• Los datos del año 2019 aún no se encuentran disponibles en el servidor FTP,
para lo que se espera que en el año 2020 ya se encuentren para poder hacer
los ajustes necesarios.
2. MARCO TEÓRICO
Una bodega de datos es una técnica de almacenamiento de datos que tiene como
objetivo el almacenar grandes cantidades de datos históricos, principalmente
originados en diferentes fuentes durante periodos de tiempo extensos [6].
Como se observa en la Figura 2, las fuentes de datos pueden estar dispersas y por
este motivo es muy importante tener claro cuál es el objetivo con el que se va a
construir el modelo dimensional, identificando las necesidades del negocio y
diseñando los procesos necesarios para extraer, transformar y cargar los datos en
la bodega, de manera que facilite las tareas de presentación, interpretación y
análisis de la información.
Hojas de Cálculo
Base de D2
D1
datos no
SQL ETL
H
D3 D4
Base de
datos SQL
Minería de datos,
Bodega de Datos inteligencia de
Bases de datos negocios,
operativas reportes, tableros
(día a día) de control,
OLTP reportes.
Figura 2. Flujo de información adaptado del modelo de Kimball [1].
2.2 DATAMART
Un DataMart puede contener datos de una bodega de datos, o integrar por sí mismo
datos como sea posible de diferentes fuentes de información, es decir, que puede
llegar a ser más complejo incluso que una bodega de datos, al poder lograr una
mayor complejidad no se considera como una pequeña bodega de datos. El objetivo
de un DataMart es integrar los datos necesarios para resolver las necesidades
específicas de una aplicación de inteligencia de negocios, enfocado en un
departamento de la empresa.
Figura 3. DataMarts [8].
El modelo dimensional de datos se plantea para poder simplificar los datos en pocas
tablas que sean más fáciles de consultar y de realizar análisis; se asocia a un “Cubo”
de n dimensiones (Figura 4), en el que se comparan diferentes aspectos de la
bodega de datos.
Producto
• Centrarse en el negocio
• Construir una infraestructura de información adecuada
• Realizar entregas en incrementos significativos
• Ofrecer solución completa
El ciclo de vida de Kimball propone varias etapas de alto nivel como se muestra en
la Figura 5, a modo de guía para la elaboración de proyectos de bodegas de datos,
muy flexible de acuerdo a las necesidades del proyecto. Los hitos del ciclo de vida
son:
Diseño de Instalación y
arquitectura selección de Crecimiento
técnica producto.
Programa/ Definición
Planificación
Modelado Diseño Diseño y Despliegue
de dimensional Físico despliegue
de proyectos
requerimie ETL
ntos de
negocio
Diseño de Desarrollo
aplicación BI de
Mantenimi
aplicación
ento
BI
Programa / Gestión de Proyectos: En esta etapa se fija la evaluación del estado del
proyecto, seguimiento de problemas y el control de cambios para mantener los
límites de alcance.
Ruta tecnológica: Una vez se han definido los requerimientos hay tres vías
simultáneas que se agrupan en la tecnología, datos y las aplicaciones de
inteligencia empresarial. Para lo que se detalla la arquitectura técnica del negocio.
Mantenimiento: Esta parte del ciclo de vida se inicia una vez el sistema de DW / BI
se despliega y en producción, se debe asegurar su funcionamiento, rendimiento y
persistencia.
El modelo normalizado hace que cargar los datos sea menos complejo, pero usar
esta estructura para realizar consultas es difícil ya que involucra muchas tablas y
uniones. De tal manera, Inmon sugiere construir DataMarts específicos para los
departamentos, lo que resulta más eficiente para realizar el procesamiento y
generar informes con más precisión [11].
Figura 6. Enfoque Inmon - DW Corporativo [11].
Los modelos relacionales están basados en las 12 reglas de Codd, que son un
conjunto de premisas que debe cumplir un sistema relacional de bases de datos, en
la implementación algunas reglas son difíciles de efectuar. Un sistema de bases de
datos se pude considerar “más relacional” siempre que mejor cumpla cada una de
estas reglas.
También, soporta las propiedades ACID de las cuatro iniciales de las propiedades
en inglés (Atomicity, Consistency, Isolation y Durability, respectivamente) [13].
3SQL de las siglas en inglés Structured Query Language o en español Lenguaje de Consulta
Estructurada.
• Clave-Valor: En este tipo de bases de datos NoSQL, cada elemento está
identificado por una clave única, que permite que la velocidad de
almacenamiento y recuperación de cada dato sea mucho más rápida.
Algunas de estas bases de datos son Redis, BigTable o HBase y Apache
Cassandra.
• Documentos: Se almacena la información en estructuras como documentos,
por ejemplo, JSON o XML. Para cada registro se asigna una clave única, de
esta manera también permite hacer búsquedas por clave-valor que resultan
siendo más rápidas. La base de datos documental más conocida es Mongo
DB.
• Grafos: Basado en la teoría grafos, almacena la información por medio de
vértices y aristas, generando una navegación más rápida con ayuda de los
modelos existentes para la teoría de grafos. Las más conocidas son Neo4j,
InfoGrid.
• Orientadas a objetos: Se almacenan la información con la misma estructura
que se tiene en la programación orientada a objetos y escritas totalmente en
lenguajes como Delphi, Ruby, Python, Perl, Java, Visual Basic.NET, etc.
• Multivalor: Son bases de datos muy flexibles en la asignación de valores a
un atributo, ya que permite asignar valores adicionales en forma de lista. Las
más tradicionales son JBase, OpenQM y InfinityDB.
Contexto Escuela
Ciencias 5° - 9° 5° - 9° - 5° - 9° - 5° - 9° - -
Competencias - 5° - 9° 5° - 9° - 5° - 9° - - -
ciudadanas
Tabla 2. Pruebas y grados evaluados en cada año de aplicación [2].
2.7.3 PERIODICIDAD
Las pruebas se realizaron inicialmente en el año 2009 y se tenía paneado que
fueran realizadas cada 3 años, pero a partir del año 2012 el gobierno decidió que
fueran realizadas anualmente, con la excepción del año 2018 en el que no se
llevaron a cabo por algunos ajustes que estuvieron realizando por parte del Icfes y
el Ministerio de Educación.
2.7.4 COBERTURA
La prueba puede ser aplicada de dos maneras:
Fortalezas y debilidades
•Se compra componentes con establecimientos que obtuvieron un resultado
en las competencias y
parecido.
componentes
Otro factor que se busca mirar son los niveles de desagregación, es decir, los
resultados agrupados por entidades territoriales, departamentos, municipios,
establecimientos y sedes. Pero debe tenerse en cuenta que hacer comparaciones
a nivel de sede con la muestra controlada, resulta imposible realizarse porque la
muestra no es estable en todos los periodos de tiempo [3].
2.7.7 VALORES PLAUSIBLES
Es una técnica de estadística utilizada en pruebas como las de 3°, 5° y 9°, donde
se desean conocer los datos a nivel de informes, para agrupar y resumir datos de
una manera que se describan a nivel grupal y no individual. Los valores plausibles
se construyen a partir de la desviación estándar posterior (ver Figura 12), generando
unos rangos como se ve en la figura, donde luego se asigna un valor aleatorio a
cada ítem y que será el valor plausible correspondiente.
La creación de los valores plausibles en las pruebas del estado SABER 3°, 5° y 9°,
consisten en conseguir números aleatorios a partir de las distribuciones posteriores
y que describan el comportamiento grupal, pero no es recomendable para realizar
distribuciones individuales [18].
Los valores plausibles fueron la única manera que utilizo el Icfes para la publicación
de los resultados de los años 2009, 2012, 2013, 2014, 2015 y 2016. En el año 2017
fueron publicados de dos maneras, los valores plausibles y los resultados
individuales de los estudiantes, de tal manera que abre un conjunto más amplio de
investigación sobre los resultados, porque permite ejecutar análisis con las variables
de cada estudiante. Por este motivo se tienen en cuenta los resultados individuales
del año 2017 y sus posteriores que cuenten con el resultado obtenido por cada
estudiante en cada área evaluada.
2.8 HERRAMIENTAS TECNOLÓGICAS PARA LA IMPLEMENTACIÓN DE
BODEGAS DE DATOS - DATAMARTS
2.8.1 PENTAHO ®
Pentaho es un paquete de inteligencia de empresarial, de código abierto que incluye
una plataforma web y una serie de herramientas para todo el proceso de análisis de
datos, desde la limpieza y carga, hasta la visualización de informes. Existen dos
versiones, ambas desarrolladas en Java, la primera es la edición Enterprise y la
segunda se trata de la edición Community. La diferencia de las dos versiones de la
suite, se encuentra en que la edición Enterprise posee características y servicios de
soporte que no se encuentran en la Community [19].
Pentaho será la herramienta que se utilizará para el desarrollo del proyecto, por ser
una plataforma open source, robusta y con las herramientas necesarias para crear
las soluciones requeridas por el proyecto.
Oracle Partitioning:
Esta herramienta es esencial para administrar bases de datos grandes, para dividir
tablas a medida que estas tablas crecen.
Oracle OLAP:
Es el motor OLAP incluido en Oracle Database, ayuda a mejorar las bodegas de
datos, al mejorar el desempeño de las consultas y al agregar contenido beneficiado
sobre los análisis.
Microsoft ofrece las siguientes opciones para almacenar datos que incluyen:
• Track Fast Track en las instalaciones: Esta basado en la arquitectura de
referencia de multiprocesamiento simétrico4 (SMP), con capacidad de cálculo
de hasta 150 TB y 1,2 PB de capacidad de almacenamiento.
3. MARCO REFERENCIAL
En la página web del Icfes6 se encuentran publicados varios proyectos sobre los
resultados de las pruebas saber 3°, 5° y 9°, pero el enfoque está en otras áreas de
conocimiento como la psicología, la sociología, metodologías de educación y no en
relación al uso de las TIC´s como soporte al procesamiento de los datos para
entender diversas variables que afectan de cierta manera los resultados obtenidos
5 MPP (Massively Parallel Processor) es una arquitectura de procesamiento paralelo en que cada
procesador tiene su propia memoria local, pero puede también tener acceso a la memoria de otros
procesadores.
6 ICFES, resultados de investigación en: https://www.icfes.gov.co/web/guest/resultado-de-
investigaciones.
por los estudiantes. Se puede evidenciar que la investigación en el campo de las
pruebas saber 3°, 5° y 9° tiene un vacío que motiva investigar sobre estos
resultados.
Una de las áreas con más trabajos enfocados al aprendizaje y estudios sobre las
pruebas del ICFES se encuentra en la Maestría en Enseñanza de las Ciencias
Exactas y Naturales de la Universidad Nacional de Colombia, teniendo en cuenta
que sus estudios buscan mejorar y fortalecer las capacidades de los estudiantes.
Cabe destacar el trabajo “Enseñanza basada en problemas como instrumento para
fortalecer los conceptos de líneas y puntos notables del triángulo en grado once
mediante las TIC, un enfoque hacia las pruebas saber” donde enmarcan el diseño
de un modelo para la enseñanza de aspectos importantes en estudiantes de grado
undécimo apoyado en el uso de las TIC [25].
4. MARCO METODOLÓGICO
Ruta de datos:
Comprende un conjunto paralelo de actividades que se deben desarrollar, que
incluye desde el diseño del modelo dimensional de destino, a la instanciación física
del modelo y finalmente el proceso ETL.
• Construcción de la metadata para hacer el cargue, integración y agregación
de los datos en el modelo multidimensional.
• Instalación de la herramienta Pentaho y el motor de base de datos
PostgreSQL.
• Creación del diseño físico que asegure la integridad y acceso de los datos.
• Diseño y despliegue ETL que permita mover los datos tomados desde el
repositorio del Icfes y llevarlos a otro sistema operacional con un modelo
multidimensional.
• Bodega de datos y cubo OLAP que soporte la ejecución de consultas con el
lenguaje multidimensional MDX.
• Desarrollo de la aplicación BI que permita el análisis de los resultados de las
pruebas saber y creación de reportes a partir del modelo multidimensional,
utilizando la herramienta Pentaho.
• Creación de tableros de control para la visualización del análisis previo del
modelo multidimensional.
• Ejecución de consultas MDX y comparación con los reportes entregados por
el Icfes.
• Creación de reglas de integridad para el acceso a la aplicación BI.
• Elaboración de reportes que permitan entender de manera resumida y rápida
el comportamiento de los resultados de las pruebas, para mejorar la toma de
decisiones.
• Es necesario la validación de los resultados obtenidos en las consultas y
reportes, a partir los resultados estadísticos básicos publicados por el Icfes,
y de los datos originales provistos por el servidor FTP.
Despliegue:
En el despliegue convergen la tecnología, los datos individuales de los estudiantes
en cada área evaluada y las aplicaciones, cuidadosamente tiene que ser una
orquestación bien realizada, para cumplir con lo planeado. En esta fase también se
ejecutarán las actividades para cargar el DataMart, la instalación y configuración de
la aplicación de inteligencia de negocios en un servidor de pruebas.
• Instalación del motor de bases de datos en el servidor.
• Despliegue de la bodega de datos.
• Instalación de la aplicación de inteligencia de negocios y su conexión con la
bodega de datos.
• Ajustes necesarios que se presenten en la instalación dentro del servidor.
• Evaluación de los resultados obtenidos y revisión del funcionamiento del
prototipo.
Crecimiento:
Si la aplicación funciona según lo planeado, es importante que se piense en el
crecimiento del sistema. Se hace con la finalidad de dar más valor a los datos y
evolucionar el negocio; como trabajos futuros se podría implementar con otros
resultados de la misma o diferentes pruebas saber. Al finalizar el proyecto se
dejarán recomendaciones que permitan ejecutar la fase de crecimiento del sistema.
Artefactos en SCRUM:
En la Tabla 4 se muestran los Sprints que se van a ejecutar durante el desarrollo del
proyecto, como inicio del proyecto se establece el día de radicación del proyecto,
con una duración de 26 semanas.
Diseño de Desarrollo
aplicación BI de Mantenimiento
aplicación BI
Se establece de igual manera alineado a las tareas más específicas de cada una
de las épicas, las historias de usuario ordenadas en el Backlog (Figura 18 y Figura
19) donde cada historia de usuario esta identificada con un color que corresponde
a las épicas de la Figura 16. Las tareas definidas en el Backlog se ordenan de
manera que las que tienen más prioridad sean realizadas en las primeras
iteraciones siguiendo las etapas del modelo de Kimball. Las historias de usuario se
agrupan en 5 sprints, como se puede ver en la Figura 4.
Duración 4 semanas.
Listado de requerimientos
Los requerimientos se especificaron a partir de las guías de interpretación y las
estadísticas presentadas por el Icfes por medio de informes a las diferentes
entidades territoriales o educativas. Se tuvieron en cuenta los aspectos que son
fundamentales para los reportes y a su vez el complemento que podría tener con
los datos de los factores asociados.
7 Consulta de resultados pruebas saber 3°, 5° y 9°, para departamento, colegios o municipios -
http://www2.icfesinteractivo.gov.co/ReportesSaber359/.
8 El código de identificación DANE es un número único, inmodificable e irrepetible que se crea y
asigna por una única vez a los establecimientos educativos legalmente constituidos y a
organizaciones territoriales – www.dane.gov.co.
Lo primero que se puede apreciar en el reporte como el de la Figura 36 es la
descripción de los puntajes en rangos y porcentajes de estudiantes, para conocer
qué tantos estudiantes de la entidad están en los 4 niveles de desempeño que son:
avanzado, satisfactorio, mínimo e insuficiente. Otra forma en la que se presentan
los datos es como se ve en la Figura 22, una comparación de los resultados de la
institucion frente al municipio y el departamento, comparando los niveles
porcentuales de desempeño en una misma gráfica. De forma similar, se muestra el
puntaje promedio con la desviación estándar, con una comparación similiar frente a
el municipio, departamento y ademas con una clasificación entre los colegios.
Figura 21. Porcentaje de estudiantes según niveles de desempeño (Consulta de un colegio al azar) [29].
Figura 23.Puntaje promedio y desviación estándar en el establecimiento educativo, la ETC, el país y los tipos
de establecimientos de la ETC según NSE (Consulta de un colegio al azar) [29].
Existe otra forma de consultar los reportes y esta resulta útil para agrupar diferentes
periodos como una opción de históricos, se pueden seleccionar todos los periodos
o solo los de interés. En la Figura 24 se muestra una gráfica en la que se
seleccionaros los periodos 2016 y 2017, las gráficas son de forma similar a los
reportes mencionados anteriormente, pero permite ver paralelamente los diferentes
periodos.
Figura 29. Diagrama de requerimientos funcionales para las la gestión de generación de reportes. Elaboración
propia.
Figura 33. Actores de los casos de uso del DataMart. Elaboración propia.
Caso de uso:
Consultar volumen de estudiantes por grado y periodo de tiempo.
ID:
CU02-01
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar los
datos por volumen de estudiantes que han presentado las pruebas.
2. Se despliega una visualización de estudiantes que presentaron las
pruebas saber 5° y 9° en diferentes escenarios.
3. El usuario selecciona la clasificación de volumen de estudiantes que
presentaron las pruebas saber 5° y 9° clasificados por grado y periodo
de tiempo.
4. Se agrupa la cantidad de estudiantes por grado, en periodo de tiempo.
5. Se hace la suma de estudiantes en cada uno de los grados, teniendo en
cuenta el periodo de tiempo.
6. Despliega la consulta del número de estudiantes agrupados.
7. Se muestra el reporte del volumen de estudiantes que presentaron las
pruebas saber 5° y 9° por grado y periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos seleccionados por el
usuario durante el procedimiento.
Tabla 6. Documentación caso de uso CU02-01. Elaboración propia.
Caso de uso:
Consultar volumen de estudiantes por periodo de tiempo, entidad territorial y
por grado.
ID:
CU02-02
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar los
datos de volumen de estudiantes que han presentado las pruebas.
2. Se despliega una visualización de estudiantes que presentaron las
pruebas saber 5° y 9° en diferentes escenarios.
3. El usuario selecciona la clasificación de número de estudiantes que
presentaron las pruebas saber 5° y 9° por periodo de tiempo, entidad
territorial y por grado.
4. Se agrupa la cantidad de estudiantes por periodo de tiempo, entidad
territorial y por grado.
5. Se hace la suma de estudiantes en entidad territorial y grado de acuerdo
al periodo de tiempo.
6. Desplegar la información del número de estudiantes.
7. Mostrar el reporte del volumen de estudiantes que presentaron las
pruebas saber 5° y 9° por periodo de tiempo, entidad territorial y por
grado.
Postcondiciones:
1. El sistema genera un reporte con los hechos seleccionados por el
usuario durante el procedimiento.
Caso de uso:
Consultar volumen de estudiantes por género y periodo de tiempo.
ID:
CU02-03
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar los
datos por volumen de estudiantes que han presentado las pruebas.
2. Se despliega una visualización de estudiantes que presentaron las
pruebas saber 5° y 9° en diferentes escenarios.
3. El usuario selecciona la clasificación de número de estudiantes que
presentaron las pruebas saber 5° y 9° por género y periodo de tiempo.
4. Se agrupa la cantidad de estudiantes por género y periodo de tiempo.
5. Se realiza la suma de los estudiantes que presentaron la prueba.
6. Desplegar la información del número de estudiantes de acuerdo a la
clasificación configurada.
7. Se muestra el reporte del volumen de estudiantes que presentaron las
pruebas saber 5° y 9° por género y periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos seleccionados por el
usuario durante el procedimiento.
Caso de uso:
Consultar puntaje promedio de estudiantes por periodo de tiempo y área.
ID:
CU03-01
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar los
datos por de estadísticas de desempeño.
2. El usuario selecciona la clasificación de puntaje de estudiantes por
periodo de tiempo y área.
3. Se agrupa la cantidad de estudiantes por puntaje de estudiantes por
periodo de tiempo y área.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por área y periodo de tiempo.
5. Desplegar la información del puntaje de los estudiantes agrupado por
área y periodo de tiempo.
6. Se despliega un reporte del puntaje promedio de los estudiantes por
periodo de tiempo y área.
Postcondiciones:
1. El sistema genera un reporte con los hechos seleccionados por el
usuario durante el procedimiento.
Caso de uso:
Consultar resultado promedio por periodo de tiempo y género.
ID:
CU03-02
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar
estadísticas de desempeño.
2. El usuario selecciona la clasificación de promedio del estudiante por
periodo de tiempo y género.
3. Se agrupa la cantidad de estudiantes por puntaje de estudiantes por
periodo de tiempo y género.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por periodo de tiempo y área.
5. Desplegar la información del promedio de los resultados de los
estudiantes de acuerdo a la clasificación de área por periodo de tiempo.
6. Se despliega un reporte del promedio de los resultados obtenidos por
los estudiantes por periodo de tiempo y área.
Postcondiciones:
1. El sistema genera un reporte con los hechos seleccionados por el
usuario durante el procedimiento.
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar los
datos de estadísticas de desempeño.
2. El usuario selecciona la clasificación por periodo de tiempo, área y
género.
3. Se agrupa la cantidad de estudiantes por periodo de tiempo, área y
género.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por área y género.
5. Desplegar la información del promedio de estudiantes de acuerdo a la
clasificación configurada.
6. Se despliega un reporte del promedio por periodo de tiempo, área y
género.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
Tabla 11. Documentación caso de uso CU03-03. Elaboración propia.
Caso de uso:
Consultar resultado promedio por institución, área y grado en periodo de
tiempo.
ID:
CU03-04
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar
estadísticas de desempeño.
2. El usuario selecciona la clasificación por institución, área y grado en
periodo de tiempo.
3. Se agrupan los datos en la cantidad de estudiantes por institución, área
y grado en periodo de tiempo.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por institución, área y grado en periodos de tiempo.
5. despliega la información del número de estudiantes de acuerdo a la
clasificación configurada.
6. Se despliega un reporte del promedio por institución, área y grado en
periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
Caso de uso:
Caso de uso consultar nivel de desempeño de instituciones por género, área y
periodo de tiempo
ID:
CU03-05
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
3. El Icfes clasifica en rangos del puntaje total de las pruebas que son:
insuficiente (0-252), mínimo (253-344), satisfactorio (345-423) y
avanzado (424-500).
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar
estadísticas de desempeño.
2. El usuario selecciona la clasificación por género, área y periodo de
tiempo.
3. Se agrupan los datos en la cantidad de estudiantes por género, área y
periodo de tiempo y nivel de desempeño.
4. Se suma el número de estudiantes en cada nivel de desempeño.
5. Desplegar la información del número de estudiantes de acuerdo a la
clasificación configurada.
6. Se despliega un reporte del total en cada nivel de los estudiantes
agrupados por género, área y periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
Caso de uso:
Consultar nivel de desempeño por área, grado y periodo de tiempo.
ID:
CU03-06
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar
estadísticas de desempeño.
2. El usuario selecciona la clasificación por área, grado y periodo de
tiempo.
3. Se agrupan los datos en la cantidad de estudiantes por área, grado y
periodo de tiempo.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por área, grado y periodo de tiempo.
5. Mostrar la información del promedio de los resultados de los
estudiantes de acuerdo a la clasificación.
6. Se despliega un reporte del promedio por área, grado y periodo de
tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
Caso de uso:
Consultar resultado promedio por factores socioeconómicos familiares por
periodo de tiempo
ID:
CU04-01
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar
factores asociados.
2. El usuario selecciona la clasificación por factores socioeconómicos
familiares por periodo de tiempo.
3. Se agrupan los datos en la cantidad de estudiantes por factores
socioeconómicos familiares por periodo de tiempo.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por factores socioeconómicos familiares y periodo de tiempo.
5. Mostrar la información del promedio de los resultados de los estudiantes
de acuerdo a la clasificación configurada.
6. Se despliega un reporte del promedio por factores socioeconómicos
familiares por periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
Caso de uso:
Consultar resultado promedio por factores del colegio por periodo de tiempo.
ID:
CU04-02
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar
factores asociados.
2. El usuario selecciona la clasificación por factores del colegio por periodo
de tiempo.
3. Se agrupan los datos en la cantidad de estudiantes por factores del
colegio por periodo de tiempo.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados en factores socioeconómicos del colegio por periodo de
tiempo.
5. Mostrar la información del promedio de los resultados de las pruebas de
los estudiantes de acuerdo a la clasificación.
6. Se despliega un reporte del promedio por factores del colegio por
periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
Caso de uso:
Consultar resultado promedio por otros datos socioeconómicos por periodo de
tiempo.
ID:
CU04-03
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar
factores asociados.
2. El usuario selecciona la clasificación por otros datos socioeconómicos
por periodo de tiempo.
3. Se agrupan los datos en la cantidad de estudiantes por otros datos
socioeconómicos por periodo de tiempo.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por otros factores socioeconómicos.
5. Mostrar la información del número de estudiantes de acuerdo a la
clasificación configurada.
6. Se despliega un reporte del promedio por otros datos socioeconómicos
por periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
Caso de uso:
Consultar resultado promedio por factores de estudiante por periodo de tiempo.
ID:
CU04-04
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de consultar
factores asociados.
2. El usuario selecciona la clasificación promedio por factores de
estudiante por periodo de tiempo.
3. Se agrupan los datos en la cantidad de estudiantes promedio por
factores de estudiante por periodo de tiempo.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por factores de estudiante.
5. Mostrar la información del número de estudiantes de acuerdo a la
clasificación configurada.
6. Se despliega un reporte del promedio de los resultados de las pruebas,
por factores de estudiante por periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
Tabla 18. Documentación de caso de uso CU04-04. Elaboración propia.
Caso de uso:
Consultar resultado promedio por variables socioeconómicas del hogar por
periodo de tiempo.
ID:
CU04-05
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la opción de factores
asociados.
2. El usuario selecciona la clasificación por variables socioeconómicas del
hogar por periodo de tiempo.
3. Se agrupan los datos en la cantidad de estudiantes por variables
socioeconómicas del hogar por periodo de tiempo.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por variables socioeconómicas de hogar.
5. Mostrar la información del número de estudiantes de acuerdo a la
clasificación configurada.
6. Se despliega un reporte del promedio de los resultados, por variables
socioeconómicas del hogar por periodo de tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
ID:
CU04-06
Actores:
Usuario DW
Precondiciones:
1. Se debe realizar la extracción, transformación y carga de las pruebas
saber 5° y 9° en la bodega de datos.
2. Crear usuario para el acceso a la aplicación de visualización.
Fuente de datos:
La fuente de datos principal se encuentra en la base de datos del Icfes y estos
datos se someten a un proceso ETL y posteriormente se alojan en una bodega
de datos.
Flujo de eventos:
1. El usuario de la bodega de datos selecciona la configuración de factores
asociados.
2. El usuario selecciona la clasificación por factores de hogar, estudiante y
tiempo.
3. Se agrupan los datos en la cantidad de estudiantes por factores de
hogar, estudiante y tiempo.
4. Se hace el cálculo del promedio, sumando los puntajes de los
estudiantes que se agrupan, dividido en el número de estudiantes
agrupados por factores de hogar, estudiante y tiempo.
5. Mostrar la información del número de estudiantes de acuerdo a la
clasificación configurada.
6. Se despliega un reporte del promedio de los resultados de las pruebas,
por factores de hogar, estudiante y tiempo.
Postcondiciones:
1. El sistema genera un reporte con los hechos configurados por el usuario
durante el procedimiento.
9El servidor FTP es un repositorio donde se encuentran todos los datos de las diferentes pruebas
del Icfes, pero para el proyecto se usan solo los datos de estudiantes de las pruebas 3°, 5° y 9° que
se encuentran en la url ftp://200.41.6.169/2. Saber 3,5 y 9/3. Resultados Saber 359.
por barras que permite ser leído desde una hoja de cálculo como un archivo “.csv”.
Los datos obtenidos del servidor de Icfes fueron modificados por última vez el
17/02/2020 a las 7:00:00 p. m. Se encuentran junto a los resultados de otras
pruebas realizadas, que cuenta con diferentes carpetas y los resultados de los
diferentes periodos en que se llevaron a cabo, con resultados agrupados en
diferentes niveles de agrupación como se ve en la Figura 39.
La descarga del archivo “.zip” con los datos de los resultados de las pruebas saber
3, 5° y 9°, se realiza desde un navegador web por medio del protocolo ftp y es
necesario solicitar un usuario para acceder a la base de datos10. Lo primero es
ingresar los datos requeridos por el Icfes para recibir una contraseña vía correo
electrónico y con ella se accede al servidor que almacena los datos.
En la descarga del archivo de los resultados individuales de las pruebas saber 3°,
5° y 9° del año 2017 se obtuvo un archivo de tipo “.zip” con un tamaño de 69,5 MB,
10 Sitio web de Icfes para Acceso a las bases de datos y diccionarios de las pruebas
https://www.icfes.gov.co/web/guest/investigadores-y-estudiantes-posgrado/acceso-a-bases-de-
datos#Acceso%20a%20Bases%20de%20datos%20y%20diccionarios
el tiempo de descarga fue de 49.64 segundos a una velocidad de bajada de
1.4MB/S.
La exploración se realizó con MongoDB [31], una base de datos NoSQL orientada
a documentos, con el fin de obtener una visión general de los datos y perfilarlos
para asegurar que apoyan los requerimientos del negocio. Se llevaron a cabo varias
consultas para entender los datos, el estado en que se encuentran y la calidad de
los mismos; el proceso general de exploración se describe a continuación.
Para importar los datos del archivo a la base de datos se puede utilizar la consola,
con el comando “mongoimport” que es una herramienta propia de MongoDB, pero
también es posible hacerlo con la interfaz gráfica de usuario de Studio 3t [32], una
interfaz para administrar bases de datos de MongoDB y con la que se puede
importar archivos JSON, BSON, CSV o TSV11; en este caso es un archivo CSV
separado por barras como se ve en la Figura 40.
TSV que significa “Valores Separados por Tabulaciones” es un archivo muy parecido a los CSV,
11
Figura 43. Descripción de la colección de los resultados de las pruebas saber 3, 5 y 9del 2017.
• Figura 48).
• ¿Cuáles son los valores máximos y mínimos en la prueba de lenguaje? (ver
•
•
• Figura 49).
• ¿Cuántos estudiantes tienen internet? (ver Figura 50).
• ¿De qué manera se desplazan los estudiantes a su colegio y cuantos hay por
cada categoría? (ver Figura 51).
Figura 44. número de estudiantes que presentaron la prueba saber 3, 5 y 9 en el año 2017. Elaboración
propia.
La consulta de cantidad de estudiantes por género que se ve en la Figura 45. Esta
muestra que existen datos “No aplica” para denotar que no pertenece a ninguno de
los dos géneros establecidos, pero también se encuentra una cantidad considerable
de datos nulos.
Figura 45. Consulta de estudiantes que presentaron la prueba saber 3, 5 y 9 por género en el año 2017.
Elaboración propia.
Figura 46. Nivel académico de los padres (A la izquierda del padre y a la derecha de la madre). Elaboración
propia.
Figura 47. Agregación por categoría de niveles de desempeño de los estudiantes (A la izquierda la prueba de
lenguaje y a la derecha la prueba de matemáticas). Elaboración propia.
Figura 48, en todos los grados (incluyendo el valor nulo) el máximo es 500.
Figura 49, en todos los grados (incluyendo el valor nulo) el máximo es 500.
Figura 49. Valores máximos y mínimos en el área de lenguaje. Elaboración propia.
Sobre las variables socioeconómicas, en algunas de ellas los valores son “Si”, “No”,
“NA” o en su defecto un dato nulo. Por ejemplo, en la Figura 50 se ven las
respuestas para la variable que dice si el estudiante tiene internet en su casa, cerca
del 25 % de los estudiantes tienen como valor “No”, es decir que no tienen acceso
a internet y esta es una de las variables que es de relevancia en el estudio de BI
sobre los factores asociados.
Figura 51. Tiempos en lo que los estudiantes tardan en desplazarse al colegio. Elaboración propia.
El número de datos nulos es el mismo en todas las consultas que se realizaron, que
corresponde a 37.467 registros, que corresponde aproximadamente al 1% del total
de los datos. Al inspeccionar cada registro de los que posee estos datos nulos, se
observa que son los mismos datos nulos en las preguntas relacionadas a
información socioeconómica y algunas columnas de información personal del
estudiante como se ve en la Figura 52, sin embargo, en todos los registros se
encuentra la información del colegio y datos del estudiante como el consecutivo,
tipo de documento y la nacionalidad.
Es operario de máquinas o
conduce vehículos (taxista, chofer)
NA
FAMI_TRABAJOLABORMADRE Señale aquella labor que sea más Trabaja en el hogar; no trabaja o
similar al trabajo que realizó su estudia
madre durante la mayor parte del
último año: Es dueño de un negocio pequeño
(tiene pocos empleados o no tiene;
por ejemplo, tienda, papelería,
salón de belleza, lavandería, etc.)
Es operario de máquinas o
conduce vehículos (taxista, chofer)
Es pensionado
NA
ESTU_DEDICACIONINTERNET Usualmente, ¿cuánto tiempo al día No navego en internet, 30 minutos
dedica a navegar en internet? o menos, Entre 30 y 60 minutos,
Excluya actividades académicas Entre 1 y 3 horas, Más de 3 horas,
NA.
Otras socioeconómicas
ESTU_COMODESPLAZACOLEGIO Usualmente, ¿cómo te desplazas al Caminando o en bicicleta, En bus
colegio? o transporte público, En transporte
escolar o particular, Otro (burro o
caballo, canoa, lancha, etc.), NA.
ESTU_TIEMPODESPLAZACOLEGIO ¿Cuánto tiempo tardas en ir de tu Menos de 15 minutos, Entre 15 y
casa al colegio? 30 minutos, Entre 30 minutos y
una hora Más de 1 hora, NA.
ESTU_ANOSPREESCOLAR ¿Cuántos años cursaste de Ninguno, Un año, Dos años, Tres
preescolar? años, No me acuerdo, NA.
ESTU_ESTECOLEGIO_ANOPASADO ¿Estudiaste en este colegio el año No, Sí, NA.
pasado?
La fuente de datos corresponde al servidor del Icfes que mediante el protocolo ftp y
un usuario se puede acceder a la descarga de los archivos de los resultados en la
ruta13 de los resultados individuales (ver Figura 54). Los datos llegan al área de
12 Sitio oficial para la descarga de recursos de Pentaho http://sourceforge.net/projects/pentaho/
13 Ruta especifica de los resultados individuales por estudiante de las pruebas 3°, 5° y 9°
(ftp://ftp.icfes.gov.co/2.%20Saber%203,5%20y%209/3.%20Resultados%20Saber%20359/2017/6.%
stage o zona de landing que en la arquitectura es un área de datos intermedia entre
el DataMart y las fuentes de datos. La zona de stage se divide en dos, las carpetas
donde se almacena los datos en bruto (ver Figura 55) y la segunda parte que
corresponde a MongoDB para la exploración de los datos.
Las dimensiones deben describir el "quién, qué, cuándo, dónde, por qué y cómo"
del contexto de la medición [4]. Para el caso de las pruebas Saber se hace un
bosquejo de las posibles entidades que pueden responder estas preguntas, con el
fin de empezar a construir las dimensiones del modelo dimensional.
Dimensiones comunes
Procesos de Año Sede Colegio Factores Lugar de
negocio/ Evento asociados Citación
Volumen de X X X X X
estudiantes
Promedio de X
desempeño
Nivele de
desempeño
Incidencia X X X
Socioeconómica
Instituciones y X X X
entidades
territoriales
Tabla 22.Matriz de bus. Elaboración propia.
Convención Significado
FAMI Atributo que hace referencia a una característica familiar del
estudiante.
ESTU Atributo que hace referencia a datos propios del estudiante.
COLE Atributo que describe valores de la institución educativa.
PUNT Puntaje
DIM Convención utilizada en las dimensiones, antes del nombre de
la tabla.
Tabla 23. Tabla de convenciones del modelo dimensional. Elaboración propia.
El grano del modelo dimensional para las pruebas saber de 5° y 9° se define como
el registro individual de cada estudiante en las pruebas presentadas en un año; de
esta forma será posible llegar al grado de detalle de consultar por estudiante
específico (anonimizado), aunque este no sea el objetivo. El registro individual tiene
los datos personales de cada estudiante, el año de presentación, información de la
institución, los factores asociados, datos de la citación al examen y finalmente los
resultados de las pruebas por asignatura [4].
Resultado
Colegio prueba saber
Factores asociados
Estudiante Familiares Sede
TABLA DE HECHOS
Estu Col Sed Tiem Fa_Fa Fa_Es Cit P_Mate P_Len P_otra Cant
E1 C1 S1 T1 F1 FE1 C1 300 300 Na 1
E2 C1 S1 T1 F2 FE2 C2 100 100 Na 1
E3 C2 S2 T1 F3 FE3 C3 250 250 Na 1
E4 C3 S3 T1 F4 FE4 C3 210 210 Na 1
E5 C3 S4 T1 F5 FE5 C4 350 350 Na 1
E6 C4 S5 T2 F6 FE6 C5 120 120 280 1
Tabla 24. Tabla de hechos para el modelo dimensional 1. Elaboración propia.
TABLA DE HECHOS
Estu Col Sed Tiem Fa_Fa Fa_Es Cit Área Puntaje Cant
E1 C1 S1 T1 F1 FE1 C1 L 300 1
E1 C1 S1 T1 F1 FE1 C1 M 300 1
E2 C2 S2 T1 F2 FE2 C2 L 100 1
E2 C2 S2 T1 F2 FE2 C2 M 150 1
E3 C3 S3 T2 F3 FE3 C3 L 250 1
E3 C3 S3 T2 T2 FE3 C3 M 200 1
E3 C3 S3 T2 T2 FE3 C3 C 180 1
Tabla 25.Tabla de hechos para el modelo dimensional 2. Elaboración propia.
Así que las dimensiones del modelo dimensional para almacenar los resultados de
las pruebas 5° y 9° serán las siguientes:
Dimensión Estudiante
Dimensión Frecuencia PK
Dim_estudiante Anual Estu_consecutivo
Descripción
Dimensión que permite almacenar datos de estudiantes a nivel individual con la
información personal que puede ser publicada por el Icfes, ya que no todos los
datos personales son de acceso público.
Atributos
Nombre Tipo Descripción
estu_consecutivo Varchar(20) Identificador público del estudiante, es un
consecutivo que se asigna a cada uno de
los estudiantes inscritos a la plataforma
del Icfes. Es una identificación única en el
sistema del icfes.
estu_tipodocumento Varchar(6) Tipo de Documento del estudiante.
estu_nacionalidad Varchar(18) Nacionalidad del estudiante.
estu_genero Varchar(8) Género del estudiante.
estu_edad Varchar(40) PARA TERCERO: 7 años o menos, 8
años, 9 años, 10 años o más.
PARA QUINTO: 9 años o menos, 10 años,
11 años, 12 años o más.
PARA NOVENO: 13 años o menos, 14
años, 15 años, 16 años o más, NA.
estu_grado Integer Grado del estudiante.
estu_fechanacimiento Date Fecha de nacimiento del estudiante.
[DD/MM/AAAA]
estu_inscripcion Varchar(20) Indica si realizó la inscripción por medio de
un colegio (estudiante) o fue individual.
estu_pais_recide Varchar(30) Código del país donde reside actualmente
el Estudiante.
estu_inse_individual Integer Índice socioeconómico a nivel de
estudiante.
Figura 59. Documentación dimensión estudiante. Elaboración propia.
Resultados_pruebas_saber
PK id_pruebasaber
Atributo Tipo Descripción
id_pruebasaber Bigint llave subrogada que
identifica un hecho individual
o grano más pequeño de las
pruebas saber.
id_estu_consecutivo Varchar(20) Llave foránea de la
dimensión de estudiante.
cole_cod_dane_sede Integer Llave foránea de la
dimensión sede
id_dim_tiempo Integer Llave foránea de la
dimensión tiempo.
cole_cod_dane_establecimiento Integer Llave foránea de la
dimensión de colegio.
id_soc_familia Integer Llave foránea de la
dimensión de factores
socioeconómicos de familia.
id_soc_estudiante Integer Llave foránea de la
dimensión de variables
socioeconómicas de
estudiante.
estu_cod_mcpio_presentacion Integer Llave foránea de la
dimensión del municipio de
presentación de las pruebas.
punt_lenguaje Integer Métrica del puntaje obtenido
por el estudiante en lenguaje.
punt_matematicas Integer Métrica del puntaje obtenido
por el estudiante en
matemáticas.
punt_sociales Integer Métrica del puntaje obtenido
por el estudiante en sociales
punt_biologia Integer Métrica del puntaje obtenido
por el estudiante en biología.
punt_otra_area Integer Métrica para un puntaje de
áreas que podrían ser
evaluadas en otros años
posteriores.
cantidad Integer Cantidad de hechos por
estudiante (en este caso
como es un registro por cada
estudiante el valor será 1 y
servirá para realizar
conteos).
Figura 62. Documentación tabla de hechos. elaboración propia.
Una vez que se termina el modelo de alto nivel, se definen las llaves o
identificadores de cada una de las dimensiones, para lo cual es necesario conocer
la lista de atributos de cada dimensión para escoger el atributo que sea el mejor
candidato o en su defecto construirlo. Poco a poco se llega al modelo detallado, que
se construye iniciando con las dimensiones y finalmente la tabla de hechos, donde
convergen todas las llaves de las dimensiones.
Los reportes personalizables que ofrece Pentaho son un producto web en la que se
14JSP JavaServer Pages es una tecnología para optimizar la creación de páginas web dinámicas
basadas en HTML, XML y otros tipos de documentos.
muestran datos de forma interactiva con el usuario. Esta capa web se puede insertar
en diferentes fuentes de datos o bien realizar el despliegue directamente en Pentaho
Server, que es el lugar en el que se crean. También cuenta con tecnologías como
HTML, CSS, Bootstrap, JavaScript y jQuery, lo que permite una gama amplia de
posibilidades para poder mostrar los datos ver (
Figura 67) [34].
Figura 66. Tabla elaborada con Jpivot en la herramienta SCIRE. Elaboración propia.
Otro tipo de agregados que se pueden crear son las dimensiones colapsadas, que
consiste en llevar el campo de una dimensión a la tabla de hechos. Para el caso de
la Figura 70, se realizó la agregación del campo en la construcción del cubo OLAP
colapsando la columna “Estu_nofuealcolegio”.
Figura 70. Tabla de agregado colapsada para factor asociado. Elaboración propia.
Figura 71. Niveles de agregado no colapsadas en Jerarquía por fecha. Elaboración propia.
Luego de la ejecución del script, se realiza la validación de los campos que fueron
creados con los mismos parámetros del modelo, en la Figura 72 se ven las tablas
que se crearon en la base de datos DW_PruebasSaber59 y así finalmente se
comprueba que la creación de los objetos sea de acuerdo a la definición de la
documentación del modelo dimensional del DataMart.
Figura 75. Diagrama de pentaho data inegration para el cargue de estudiantes y la tabla de hechos.
Elaboración propia.
La carga de datos se realiza en dos fases, una inicialmente ejecutada desde Spoon
y la segunda mediante la ejecución de funciones o procedimientos almacenados de
la base de datos.
Antes de hacer la ejecución se debe hacer la preparación del ambiente en la base
de datos, configurando cómo van a entrar los datos y cómo se van a organizar en
cada una de las dimensiones. Aunque desde Pentaho Data Integration se hace un
primer acercamiento al direccionamiento de los datos, los procedimientos
almacenados en PostgreSQL van asegurar mejor rendimiento en los procesos de
carga se van restringir errores de inserción y de información errónea en la base de
datos. El objetivo es recibir los parámetros con el tipo de dato definido, validar que
no exista este valor en la tabla, y si no existe hacer la inserción del registro del nuevo
colegio. En la Tabla 27 y la Tabla 28 se encuentra la descripción de los
procedimientos almacenados en PostgreSQL para cargar las dimensiones de
valores socioeconómicos y de estudiante respectivamente; las demás tablas de la
documentación de los procedimientos almacenados se pueden encontrar en el
anexo 10.2.2 y algunos de los scripts en el anexo 10.3.2.
Nombre CargarSocieconomicas
Descripción La función consulta si se encuentra el registro en las dos
dimensiones de factores socioeconómicos, con los mismos
parámetros recibidos y si no están los inserta como un nuevo
registro de la base de datos. Consulta el máximo del id para
asignar el siguiente valor al registro que se va a insertar.
También se encarga de almacenar los metadatos
correspondientes al control, seguimiento de carga de los
datos como la cantidad de registros que se insertaron o se
repitieron.
Dimensiones dimSocieconomicoFamilia, dim_SocieconomicoEstudiante
afectadas
Tipo de retorno Void
Parámetros Nombre Tipo de dato
que recibe Id_soc_familia Bigint
fami_educacionpadre Varchar (29)
fami_educacionmadre Varchar (29)
fami_personashogar Varchar (49)
fami_cuartoshogar Varchar (4)
fami_tieneinternet Varchar (3)
fami_tieneserviciotv Varchar (3)
fami_tienecomputador Varchar (3)
fami_tienelavadora Varchar (3)
fami_tienehornomicroogas Varchar (3)
fami_tieneautomovil Varchar (3)
fami_tieneconsolavideojuegos Varchar (3)
fami_trabajolaborpadre Varchar (150)
fami_trabajolabormadre Varchar (150)
fami_numlibros Varchar (60)
Id_soc_estudiantes Bigint
Estu_dedicacioninternet Varchar (25)
estu_comodesplazacolegio Varchar (25)
estu_tiempodesplazacolegio Varchar (36)
estu_anospreescolar Varchar (15)
estu_estecolegio_anopasado Varchar (3)
estu_gradocomenzo_estecolegio Varchar (9)
estu_reprobogrado Varchar (35)
estu_tardeaclase Varchar (29)
estu_nofuealcolegio Varchar (22)
estu_remunera_otrasactividades Varchar (3)
estu_seretirocolegio Varchar (23)
Tabla 27.Documentación procedimiento almacenado CargarSocieconomicas. Elaboración propia
Nombre CargarEstudiante
Descripción La función consulta si se encuentra el consecutivo del
estudiante en la dimensión estudiante, de no estar crea un
nuevo registro de estudiante y además se genera el hecho en
la tabla resultados_pruebas_saber, para lo cual consulta el
valor máximo del id_pruebasaber. También se encarga de
almacenar los metadatos correspondientes al control,
seguimiento de carga de los datos como la cantidad de
registros que se insertaron o se repitieron.
Dimensiones dimEstudiante, resultados_pruebas_saber
afectadas
Tipo de retorno Void
Parámetros Nombre Tipo de dato
que recibe estu_consecutivo Varchar (20)
estu_tipodocumento Varchar (6)
estu_nacionalidad Varchar (18)
estu_genero Varchar (8)
estu_edad Varchar (40)
estu_grado Integer
estu_fechanacimiento Date
estu_estudiante Varchar (20)
estu_pais_reside Varchar (30)
estu_inse_individual Double
Punt_lenguaje Integer
Punt_matematicas Integer
Punt_ciencias Integer
Punt_competencias_ciudadanas Integer
Punt_otra_area Integer
Cantidad Integer
Tabla 28.Documentación procedimiento almacenado CargarEstudiante. Elaboración propia.
#!/bin/bash
# Ejecución de proceso de carga de datos
1 # Directorio de instalación de Pentaho Data Integration
2 cd /home/diego/data-integration/
3 #Ejecución de carga con kitchen
4 ./kitchen.sh -file
5 /home/diego/StageArea/scripts/CargaTareaAutomatizada.ktr
6 mv
/home/diego/StageArea/Pruebas_saber59/ResultadosParaLaCarga/Resuultados
Estudiante.csv /home/diego/StageArea/Pruebas_saber59/ResultadosCargados
El proceso de carga de los datos inicial se da con la ejecución manual del modelo
desde Spoon y luego este proceso al insertar datos en el motor de PostgreSQL se
activan los disparadores o funciones que van a determinar acciones para cada una
de las inserciones. Al finalizar el script Bash mueve el archivo a una carpeta
diferente para que este no sea cargado de nuevo.
En la tabla de procesos (ver Figura 79) del esquema de control se ven los procesos
que se ejecutaron para la carga de datos en el DataMart.
La tabla de excepciones del esquema de control es la que quizás nos da una mejor
panorámica de los tiempos, datos repetidos, datos insertados y las tablas que se
vieron afectadas, como se ve en la tabla de la Figura 80.
Figura 82. Diseño del modelo dimensional en SCIRE - validación de colegios, sedes y grados. Elaboración
propia.
select count(*)
1 from public.resultados_pruebas_saber h
2 inner join public.dimcolegio col on
3 col.cole_cod_dane_establecimiento=h.cole_cod_dane_establecimiento
4 inner join public.dimestudiante e on
5 e.id_estu_consecutivo=h.id_estu_consecutivo
where col.cole_cod_dane_establecimiento=311001000921 and
(e.estu_grado=9 or e.estu_grado is null)
Figura 84. Cantidad de estudiantes colegio Luis Enrique - PostgreSQL. Elaboración propia.
Figura 85. Puntaje promedio en lenguaje para el colegio Luis Enrique Osorio. Elaboración propia.
A continuación, la consulta ejecutada para validar este promedio en el DataMart en
PostgreSQL.
1 select avg(punt_lenguaje)
2 from public.resultados_pruebas_saber h
3 inner join public.dimcolegio col
4 on col.cole_cod_dane_establecimiento=h.cole_cod_dane_establecimiento
5 inner join public.dimestudiante e
6 on e.id_estu_consecutivo=h.id_estu_consecutivo
7 where col.cole_cod_dane_establecimiento=311001000921
8 and (e.estu_grado=9 or e.estu_grado is null)
Figura 86.Puntaje promedio en lenguaje de estudiantes colegio Luis Enrique - PostreSQL. Elaboración propia.
Figura 88.Reporte de desempeño por área, género y periodo de tiempo. elaboración propia.
Figura 89. Reporte de factor asociado estudio del padre. Elaboración propia.
Figura 90. Reporte de desempeño por factor socioeconómico de los trabajos de los padres. Elaboración
propia.
Figura 91. Reporte de desempeño por factor socioeconómico de asistencia del estudiante. Elaboración propia.
Para la personalización del ambiente de Pentaho Server la opción que se utilizó fue
mediante el uso del plugin “tapa” (Ver Figura 94), en el cual se pueden personalizar
logos, colores y títulos del ambiente, también desde una opción más avanzada es
posible descargar el formato web de la plantilla y modificar el código fuente de la
plantilla para personalizar aspectos más profundos de la aplicación [36].
rol Permisos
Tabla de entregables
Para el desarrollo de este proyecto se modelaron e implementaron los siguientes
artefactos de software:
Como valor agregado a los reportes entregados por el Icfes a los colegio y entidades
territoriales, el prototipo SCIRE contempla variables socioeconómicas en los
análisis, reportes y consultas. Además de la flexibilidad de análisis de todos los
periodos de tiempo, niveles de granularidad y aspectos que se relacionan directa o
indirectamente con el estudiante y que es posible de agrupar para hallar casuísticas
en los resultados de las pruebas.
Los usuarios que accedan a la aplicación SCIRE podrán, dependiendo del rol
asignado en el sistema BI, visualizar todos los reportes de inteligencia de negocios
desarrollados o desde un perfil de analista BI crear reportes, tablas OLAP, gráficas,
análisis y usar las fuentes de datos para otro tipo de análisis sobre las pruebas saber
5° y 9°.
La metodología Scrum de desarrollo ágil con la que se definieron los sprints, las
historias de usuario y el cronograma del proyecto, al ser iterativo e incremental
permitió ajustar, redefinir y cambiar tareas durante la realización del proyecto con el
fin de mejorar la calidad del prototipo.
Se requiere una aplicación para facilitar el proceso ETL, para poder ejecutar los
procesos y además hacer seguimiento desde una parte grafica que sea amigable
con el usuario final, esta aplicación no se tuvo presente por razones de alcance y
tiempos del proyecto.
8. TRABAJO FUTURO.
• Explorar las ventajas del MDX como un lenguaje de consulta para el análisis
dimensional sobre un DataMart, también de la importancia de procesos de
inteligencia de negocios, en este caso relacionados a los resultados de las
pruebas saber.
[1] R. Kimball, Ralph Kimball The data warehouse lifecycle toolkit, WILEY, 2008.
[2] C. d. Colombia, "Ley 1324," 13 Julio 2009. [Online]. Available:
https://www.mineducacion.gov.co/1621/articles-210697_archivo_pdf_ley_1324.pdf.
[Accessed 16 Noviembre 2019].
[3] ICFES, "Documentación de la prueba saber 3°, 5° y 9°," ICFES, Colombia, 2017.
[4] ICFES, "Guía de interpretación de resultados," [Online]. [Accessed octubre 2019].
[5] "¿Por qué este año no se realizarán las Pruebas Saber en 3, 5 y 9?," Semana,
Lunes, 11 de noviembre de 2019.
[6] A. l. T. a. A. l. Nestor Darío Duque Méndez, «DATA WAREHOUSE (BODEGA DE
DATOS). HERRAMIENTA PARA LA TOMA DE DECISIONES PARTE 1,»
Universidad Nacional, p. 9.
[7] W. H. Inmon, "The Data Warehouse Environment," in Bulding the Data Warehouse
4 Edition, New York, Wiley, 2002, p. 31.
[8] "quoracdn.net," [Online]. Available: https://qph.fs.quoracdn.net/main-qimg-
5f1d329ce904abe8abb9bc3bde1fea8a. [Accessed 1 Novimbre 2019].
[9] Microsoft, «Acceso a datos de modelos multidimensionales (Analysis Services:
datos multidimensionales),» [En línea]. Available: https://docs.microsoft.com/es-
es/analysis-services/multidimensional-models/mdx/multidimensional-model-data-
access-analysis-services-multidimensional-data?view=sql-server-2017. [Último
acceso: Noviembre 2019].
[10] ORACLE, «oracle,» [En línea]. Available:
https://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/317529_e
sa.pdf. [Último acceso: 31 01 2020].
[11] W. Inmon, in Bulding the Data Warehouse, New York, willey, 2002, pp. 41,.
[12] C. Todman, "The conceptual model," in Designing a data warehouse, United States
of America, Hewlett-Packard Professional Books, 2001, pp. 127-129.
[13] A. Silberschatz, Fundamentos de bases de datos, Aravaca (Madrid): McGRAW-
HILL/, 2006.
[14] Telefonica, «Blog acens,» 02 2014. [En línea]. Available:
https://www.acens.com/wp-content/images/2014/02/bbdd-nosql-wp-acens.pdf.
[Último acceso: 12 2019].
[15] ICFES, "Informe Resultados Nacionales Saber 3°,5° Y 9° 2012-2017," Colombia,
2018.
[16] ICFES, «Guía de Interpretación y Uso de Resultados de las pruebas Saber 3°, 5° y
9° (Entidades Educativas),» Colombia, 2016.
[17] ICFES, «Guía de Interpretación y Uso de Resultados de las pruebas Saber 3°, 5° y
9° (Entidades Territoriales),» Colombia, 2016.
[18] P. I. d. E. d. A. (PISA), "Manual de análisis de datos," Madrid, España, 2005.
[19] Hitachi Vantara, "Pentaho Platform," 2019. [Online]. Available:
http://www.pentaho.com/. [Accessed Noviembre 2019].
[20] "Pentaho Tutorial: Learn Data Integration Reports," guru99, [Online]. Available:
https://www.guru99.com/pentaho-tutorial.html. [Accessed Noviembre 2019].
[21] SpagoBI, "Spago," [Online]. Available: https://www.spagobi.org. [Accessed
Noviembre 2019].
[22] G. Lumpkin, «Oracle Database 11g para Data Warehousing e Inteligencia de
Negocios,» Oracle Corporation , U.S.A, 2007.
[23] Microsoft, "Build a Modern Data Warehouse," EEUU, 2017.
[24] C. R.-G. T. J. T. P.-C. P. G. Carolina Maldonado-Carreñoa, «La calidad de la
educación inicial y el desempeño académico en la educación básica primaria en
Bogotá,» ICFES, p. 5, 2019.
[25] M. A. H. Gómez, Enseñanza basada en problemas como instrumento para
fortalecer los conceptos de líneas y puntos notables del triángulo en grado once
mediante las TIC, un enfoque hacia las pruebas saber, Bogotá: BDIGITAL.
[26] H. L. B. G. Á. J. R. V. Ferney J. Rodríguez Dueñas, Predicción del desempeño
académico usando técnicas de aprendizaje de máquinas. ICFES, Bogotá: ICFES,
2018.
[27] J. I. M.-H. Antonio Ramos Murillo, «Improving kinematic lab practices by image
processing,» IEEE, p. 5, 2014.
[28] C. S. manager, SCRUM MANAGER v 2.6, 2016.
[29] E. G. R. Lamus, Diseño e implementación de un prototipo de datamart para hacer
analisis OLAP de los resultados de la prueba saber 11 del ICFES para el periodo
2000-2012, Bogotá, 2013.
[30] What are plausible values and why are, M. von Davier, E. Gonzalez, R. J. Mislevy.
[31] "¿Qué es una base de datos relacional?," AWS, [Online]. Available:
https://aws.amazon.com/es/relational-database/. [Accessed noviembre 2019].
10. ANEXOS
Nombre CargarColegio
Descripción La función valida si existe el registro en la dimensión de colegio con
la misma llave primaria (Cole_cod_dane_establecimiento) recibida
en el parámetro y si no está lo inserta como un nuevo registro de la
base de datos. También se encarga de almacenar los metadatos
correspondientes al control, seguimiento de carga de los datos
como la cantidad de registros que se insertaron o se repitieron.
Dimensiones dimClegio
afectadas
Tipo de retorno Void
Parámetros que Nombre Tipo de dato
recibe Cole_cod_dane_establecimiento Bigint
cole_nombre_establecimiento Varchar (100)
cole_genero Varchar (3)
cole_naturaleza Varchar (15)
cole_bilingue Varchar (5)
cole_caracter Varchar (30)
cole_inse_establecimiento Bigint
Tabla 36.Documentación procedimiento almacenado CargarColegio. Elaboración propia.
Nombre CargarSede
Descripción La función consulta si existe el registro en la dimensión de sede
con la misma llave primaria (Cole_cod_dane_sede) recibida en el
parámetro y si no está lo inserta como un nuevo registro de la base
de datos. También se encarga de almacenar los metadatos
correspondientes al control, seguimiento de carga de los datos
como la cantidad de registros que se insertaron o se repitieron.
Dimensiones dimSede
afectadas
Tipo de retorno Void
Parámetros que Nombre Tipo de dato
recibe cole_cod_dane_sede Bigint
cole_nombre_sede Varchar (80)
cole_area_ubicacion Varchar (10)
cole_jornada Varchar (16)
cole_cod_mcpio_ubiacion Integer
cole_mcpio_ubicacion Varchar (50)
cole_cod_depto_ubicacion Bigint
cole_depto_ubicacion Varchar (50)
Tabla 37.Documentación procedimiento almacenado CargarSede. Elaboración propia.
Nombre CargarCitacion
Descripción La función consulta si se encuentra el registro en la dimensión de
citación con la misma llave primaria (id_dim_citacion) recibida en el
parámetro y si no está lo inserta como un nuevo registro de la base
de datos. Consulta el máximo del id para asignar el siguiente valor
al registro que se va a insertar. También se encarga de almacenar
los metadatos correspondientes al control, seguimiento de carga de
los datos como la cantidad de registros que se insertaron o se
repitieron.
Dimensiones dimCitacionExamen
afectadas
Tipo de retorno Void
Parámetros que Nombre Tipo de dato
recibe id_dim_citacion Bigint
cole_nombre_sede Varchar (80)
estu_cod_mcpio_presentacion Varchar (10)
estu_cod_depto_preentacion Varchar (16)
Tabla 38.Documentación procedimiento almacenado CargarCitacion. Elaboración propia.
Nombre CargarTiempo
Descripción La función consulta si se encuentra el registro en la dimensión de
tiempo con la misma llave primaria (id_dim_tiempo) recibida en el
parámetro y si no está lo inserta como un nuevo registro de la base
de datos. Consulta el máximo del id para asignar el siguiente valor
al registro que se va a insertar. También se encarga de almacenar
los metadatos correspondientes al control, seguimiento de carga de
los datos como la cantidad de registros que se insertaron o se
repitieron.
Dimensiones dimTiempo
afectadas
Tipo de retorno Void
Parámetros que Nombre Tipo de dato
recibe id_dim_tiempo Bigint
Año Date
Mes Date
Tabla 39. Documentación procedimiento almacenado CargarTiempo. Elaboración propia.
Figura 97. Reporte de volumen de estudiantes por entidad territorial. Elaboración propia.
Figura 98. Reporte de desempeño por área, género y periodo de tiempo. Elaboración propia.
Figura 99. Reporte de desempeño del año 2017 y 2019 por género. Elaboración propia.
Figura 100. Reporte de desempeño según herramientas tecnológicas. Elaboración propia.
Figura 101. reporte de desempeño por factor de estudio de la madre. Elaboración propia.
Figura 102. Reporte de volumen por factores de colegio. Elaboración propia.
Figura 103. Reporte de volumen por factores de colegio para el año 2017. Elaboración propia.
1 <Schema name="DW">
2 <Dimension name="Dimtiempo" type="TimeDimension">
3 <Hierarchy name="Anio" hasAll="true" primaryKey="id_dim_tiempo">
4 <Table name="dimtiempo" schema="public"/>
5 <Level name="Anio" uniqueMembers="false" column="anio"
6 levelType="TimeYears" type="Numeric">
7 </Level>
8 </Hierarchy>
9 <Hierarchy name="Mes" hasAll="true" primaryKey="id_dim_tiempo">
10 <Table name="dimtiempo" schema="public"/>
11 <Level name="Mes" uniqueMembers="false" column="mes"
12 levelType="TimeMonths" type="Numeric">
13 </Level>
14 </Hierarchy>
15 </Dimension>
16 <Dimension name="Estu genero">
17 <Hierarchy hasAll="true" primaryKey="id_estu_consecutivo">
18 <Table name="dimestudiante" schema="public"/>
19 <Level name="Estu genero" uniqueMembers="false"
20 column="estu_genero" type="String">
21 </Level>
22 </Hierarchy>
23 </Dimension>
24 <Dimension name="Estu grado">
25 <Hierarchy hasAll="true" primaryKey="id_estu_consecutivo">
26 <Table name="dimestudiante" schema="public"/>
27 <Level name="Estu grado" uniqueMembers="false"
28 column="estu_grado" type="Numeric">
29 </Level>
30 </Hierarchy>
31 </Dimension>
32 <Dimension name="Cole jornada">
33 <Hierarchy hasAll="true" primaryKey="id_dim_sede">
34 <Table name="dimsede" schema="public"/>
35 <Level name="Cole jornada" uniqueMembers="false"
36 column="cole_jornada" type="String">
37 </Level>
38 </Hierarchy>
39 </Dimension>
40 <Dimension name="Estu nofuealcolegio">
41 <Hierarchy hasAll="true" primaryKey="id_soc_estudiante">
42 <Table name="dimsocieconomicoestudiante" schema="public"/>
43 <Level name="Estu nofuealcolegio" uniqueMembers="false"
44 column="estu_nofuealcolegio" type="String">
45 </Level>
46 </Hierarchy>
47 </Dimension>
48 <Dimension name="Estu tardeaclase">
49 <Hierarchy hasAll="true" primaryKey="id_soc_estudiante">
50 <Table name="dimsocieconomicoestudiante" schema="public"/>
51 <Level name="Estu tardeaclase" uniqueMembers="false"
52 column="estu_tardeaclase" type="String">
53 </Level>
54 </Hierarchy>
55 </Dimension>
56 <Dimension name="Fami tieneinternet">
57 <Hierarchy hasAll="true" primaryKey="fami_numlibros">
58 <Table name="dimsocieconomicofamilia" schema="public"/>
59 <Level name="Fami tieneinternet" uniqueMembers="false"
60 column="fami_tieneinternet" type="String">
61 </Level>
62 </Hierarchy>
63 </Dimension>
64 <Cube name="DW">
65 <Table name="resultados_pruebas_saber" schema="public"/>
66 <DimensionUsage name="Dimtiempo" source="Dimtiempo"
67 foreignKey="id_dim_tiempo"/>
68 <DimensionUsage name="Estu genero" source="Estu genero"
69 foreignKey="id_estu_consecutivo"/>
<DimensionUsage name="Estu grado" source="Estu grado"
foreignKey="id_estu_consecutivo"/>
<DimensionUsage name="Cole jornada" source="Cole jornada"
foreignKey="id_dim_sede"/>
<DimensionUsage name="Estu nofuealcolegio" source="Estu
nofuealcolegio" foreignKey="id_soc_estudiante"/>
<DimensionUsage name="Estu tardeaclase" source="Estu tardeaclase"
foreignKey="id_soc_estudiante"/>
<DimensionUsage name="Fami tieneinternet" source="Fami
tieneinternet" foreignKey="id_soc_familia"/>
<Measure name="Cantidad" column="cantidaad" aggregator="sum"/>
<Measure name="Punt lenguaje" column="punt_lenguaje"
aggregator="avg"/>
<Measure name="Punt matematicas" column="punt_matematicas"
aggregator="avg"/>
</Cube>
</Schema>
Creación de colegio
ELSE
--CREAR NUEVO COLEGIO
INSERT INTO dimcolegio
(cole_cod_dane_establecimiento, cole_nombre_establecimiento,
cole_genero,cole_naturaleza,cole_bilingue,
cole_caracter,cole_inse_establecimiento)
VALUES
(codigo,nombre,genero,naturaleza,bilingue,caracter,inse_colegio);
END IF;
END;
$$
LANGUAGE 'plpgsql';
ELSE
--CREAR NUEVO estudiante
INSERT INTO dimestudiante
(id_estu_consecutivo,estu_tipodocumento,estu_nacionalidad,estu_gen
ero,estu_edad,estu_grado,estu_fechanacimiento,
estu_inscripcion,estu_pais_recide,estu_inse_individual)
VALUES
(idestudiante,doc,nac,gen,edad,grado,fecnac,incripcion,recide,null);
fami_tieneconsolavideojuegos,fami_trabajopadre,fami_trabajomadre,fami_num
libros)
VALUES(COALESCE((select max(id_soc_familia)+1 from
dimsocieconomicofamilia
),1),educacionpadre,educacionmadre,personashogar,cuartoshogar,
tieneinternet,tieneserviciotv,tienecomputador,tienelavadora,tienehornomic
roogas,tieneautomovil,
tieneconsolavideojuegos,trabajopadre,trabajomadre,numlibros);
tiempodesplaza,anospreescolar,anopasado,gradocomenzo,reprobogrado,tardeac
lase,nofuealcolegio,remunera,seretirocolegio);
--CREAR HECHO
INSERT INTO public.resultados_pruebas_saber
(id_pruebasaber,id_estu_consecutivo,id_dim_sede,id_dim_tiempo,cole
_cod_dane_establecimiento,id_soc_familia,
id_soc_estudiante,estu_cod_mcpio_presentacion,punt_lenguaje,punt_m
atematicas,cantidaad)
END IF;
END;
$$
LANGUAGE 'plpgsql';