Está en la página 1de 52

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA SISTEMAS Y COMPUTACIÓN

Código: TG 110220902 Versión: 03 Fecha: 2018/03/15 Página 1 de 14

Visualización de conceptos en el área de Infraestructura Computacional mediante un Aplicativo offline.

Presentado como requisito para obtener el título de Ingeniero de Sistemas y Computación, por:

Anderson Ramirez Vasquez

Kevin David Sanchez Solis

Y supervisado por:

Julian Esteban Gutierrez Posada

Armenia, Quindío 2022

DEDICATORIA

A nuestro núcleo familiar, a cada una de las personas que aunque no tengamos vínculos de sangre siempre estuvieron a nuestro lado. Es por ellos que en

momentos difíciles, donde no se visualizaba una luz de solución siempre sacabamos las fuerzas necesarias para continuar. También en los mejores

momentos, en los tiempos de celebrar los diferentes logros, nos acompañaron, algunos desde la distancia, pero siempre estuvieron pendientes de nosotros. Es

por eso que en el título de Ingeniero en Sistemas y Computación todas estas personas también son partícipes.
2

AGRADECIMIENTOS
En primer lugar agradecemos a nuestras familias, y a las diferentes personas que nos apoyaron y nos hicieron sentir que sin compartir sangre o apellidos lo

éramos, son ellos quienes cuando necesitábamos apoyo, desahogo o simplemente desestresarnos, estuvieron allí.

Al director de trabajo de grado, el ingeniero Julian Esteban Gutierrez Posada, quien bajo su direccionamiento, asesoría y disposición nos motivó y permitió la

resolución de este gran reto llamado trabajo de grado. Cuando nos encontrábamos en problemas y necesitábamos una guía, él estuvo al lado de nosotros,

orientandonos de la mejor manera para culminar este proceso.

También es meritorio y justo agradecer a todos los compañeros y amigos con los que compartimos, pues es gracias a ellos que crecimos no solamente de

forma académica, si no también de forma personal. Son ellos quienes nos ayudaron en los diferentes momentos de conflicto, con los que se pasaron tanto

buenos como malos momentos y nos acompañaron en este proceso tan maravilloso y difícil.

De igual manera a la universidad y sus funcionarios, cada persona que en su hacer nos permitió desarrollar el proceso de enseñanza, resolver necesidades

administrativas, problemas como persona, brindarnos orientación, mantener los espacios e instalaciones en condiciones óptimas que permitieran adquirir el

conocimiento de nuestros docentes.

Y finalmente a nosotros por el esfuerzo, motivación y dedicación que tuvimos hasta el último momento para terminar este maravilloso proceso.
3

1. Resumen

Hoy en día se han realizado diversos estudios que hablan acerca de la importancia de los diferentes estilos de aprendizaje que puede tener una persona al

momento de adquirir el conocimiento en el ejercicio de aprendizaje, y la importancia de involucrar diferentes dinámicas en la enseñanza. También se ha

evidenciado que en el proceso aprendizaje/enseñanza en conceptos abstractos de matemática y algoritmia se presenta dificultad en su comprensión.

Acompañar y/o complementar el impartimiento de las clases con herramientas o ejercicios que permitan a los estudiantes interactuar de diferentes

maneras los conceptos puede resultar en una gran ayuda. El aplicativo propuesto presenta diferentes conceptos del área infraestructura computacional,

para que el usuario pueda interactuar con la herramienta y observar el comportamiento de los distintos algoritmos presentes en el área infraestructura

computacional.

2. Abstract

Nowadays, several studies have been carried out that talk about the importance of the different learning styles that a person may have when acquiring

knowledge in the learning exercise, and the importance of involving different dynamics in teaching. It has also been evidenced that in the

learning/teaching process in abstract concepts of mathematics and algorithms there is difficulty in their comprehension. Accompanying and/or

complementing the teaching of classes with tools or exercises that allow students to interact in different ways with the concepts can be a great help. The

proposed application presents different concepts of the computational infrastructure area, so that the user can interact with the tool and observe the

behavior of the different algorithms present in the computational infrastructure area.

Tabla de Contenido

Resumen 4

Abstract 4

Introducción 9

Contexto 11

Planteamiento del problema 11

Objetivos 12

General 12

Específicos 13

Marco teórico 13
4

Infraestructura computacional 13

Proceso enseñanza/aprendizaje 15

Estilos de aprendizaje 16

Uso de software para apoyar los diferentes estilos de aprendizaje 22

Patrones arquitectónicos 24

Arquitectura limpia. 25

Patrón por capas. 25

Alcance y delimitación 26

Cronograma 27

Desarrollo 30

Consideraciones generales 30

Investigación 31

Determinar conceptos fundamentales a tratar 31

Definición de herramientas de desarrollo 31

Diseño 31

Formularios preliminares 32

Ejecución 32

Trabajo colaborativo y versionamiento 32

Estructuración del proyecto 32

Interfaces resultantes 33

Algoritmos de planificación 33

Algoritmos para estrategias de ajuste 35

Paginación de memoria 37

Segmentación de memoria 40

Sincronización de procesos 43

Asignación de memoria en discos 45

Comunicación entre procesos 47

Particiones de disco 49

Pruebas 51

Validación de la herramienta 51

Resultados 51

Aplicación general 52

Algoritmos de planificación 53
5

Estrategias de ajuste 53

Sincronización de procesos 54

Comunicación entre procesos 54

Paginación de memoria y memoria virtual 55

Segmentación de memoria 55

Asignación en disco 56

Particiones de disco 56

Estado actual 57

Algoritmos de planificación de procesos 57

Particiones de disco 57

Administración de espacio 57

Control de asignación de espacio 57

Gestión de solicitudes 57

Sincronización de procesos 58

Conclusiones 58

Incidencias 59

Trabajo futuro. 60

Bibliografía y referencias 60

Anexos (opcional) 66

Índice de figuras

Figura 1. Comunicación entre Procesos……………………………………………….. 26

Figura 2. Contenedor de la versión de escritorio del aplicativo……...………………. 30

Figura 3. Interfaz de ingreso de datos Algoritmos de planificación……...………….. 33

Figura 4. Tablas de datos Algoritmos de planificación……………………………….. 34

Figura 5. Gráfica Algoritmos de planificación……………….……………………….. 34

Figura 6. Interfaz de ingreso de datos Estrategias de ajuste…...…………………….. 34

Figura 7. Tabla de datos para solicitudes Estrategias de ajuste..…………………….. 36

Figura 8. Tabla resultante Estrategia de ajuste……………………………………….. 36

Figura 9. Interfaz de interacción Paginación de memoria…..……………………….. 37

Figura 10. Tabla de páginas. Paginación de memoria………..…………………...….. 38


6

Figura 11. Memoria física Paginación de memoria………………….……………….. 38

Figura 12. Memoria virtual Paginación de memoria……………………………..….. 39

Figura 13. Informe escrito y botón de escucha Paginación de memoria…...……….. 40

Figura 14. Interfaz de interacción Segmentación de memoria...…………………….. 41

Figura 15. Tabla de procesos Segmentación de memoria…………………………….. 41

Figura 16. Tabla de segmentos Segmentación de memoria…………………………... 42

Figura 17. Memoria física Segmentación de memoria………………………………... 43

Figura 18. Interfaz de interacción Sincronización de procesos…………...………….. 44

Figura 19. Resultados Sincronización de procesos …………………………...………. 45

Figura 20. Interfaz de interacción Asignación de memoria………………………….. 45

Figura 21. Tabla de archivos creados Asignación de memoria………………………. 46

Figura 22. Mapa de memoria Asignación de memoria……………………………….. 46

Figura 23. Mapa de bits Asignación de memoria……………………………………... 47

Figura 24. Interfaz de interacción Comunicación entre procesos………………….... 48

Figura 25. Resultados Comunicación entre procesos……………………………….... 48

Figura 26. Interfaz de ingreso de datos para creación de disco .…………………….. 49

Figura 27. Interfaz de ingreso de datos para creación de partición.….……………... 49

Figura 28. Interfaz de visualización de particiones creadas.….………………….…... 50

Figura 29. Interfaz de visualización de uso del espacio en el disco..….………….…... 50

Figura 30. Ejecución de pruebas unitarias..….…………………………………….…. 51

Figura 31. Resultados de la validación - Aplicación en general..………………….…. 52

Figura 32. Resultados de la validación - Algoritmos de planificación…………….…. 53

Figura 33. Resultados de la validación - Estrategias de ajuste...………………….…. 53

Figura 34. Resultados de la validación - Sincronización de procesos….………….…. 54

Figura 35. Resultados de la validación - Comunicación entre procesos…..….....….…54

Figura 36. Resultados de la validación - Paginación de memoria……..………….…. 55

Figura 37. Resultados de la validación - Segmentación de memoria….…..….....….…55

Figura 38. Resultados de la validación - Asignación en disco……………..….....….…56

Figura 39. Resultados de la validación - Particiones de disco……………..….....….…56


7

3. Introducción

Infraestructura computacional se puede definir como el conjunto de hardware y software necesario para realizar computación, especialmente a nivel empresarial.

Computación se refiere al uso de herramientas tecnológicas que automatizan el procesamiento de datos, esta automatización se realiza mediante algoritmos

informáticos. Los estudiantes de las áreas de computación e informática se les complica el estudio de conceptos matemáticos abstractos o de conceptos que

incluyen dinámicas de manipulación de datos por parte de los algoritmos (Soler Pellicer et al., 2020). En (Marsiglia Fuentes et al., 2020) se refiere a la

importancia de tener en cuenta los diferentes estilos de aprendizaje para la generación de conocimiento y formación de personal idóneo. En el proceso de

aprendizaje pueden surgir diferentes estilos de aprendizaje, ya que un alumno puede disponer preferencias entre diferentes estrategias (Garcia et al., 2020).

Actualmente en el área de infraestructura computacional existen diferentes propuestas para apoyar el proceso de enseñanza y aprendizaje. (Maté De Nicolás,

2018) presenta un aplicativo web que simula los algoritmos de planificación de procesos. Para problemas de planificación de disco (Aguilar Campoverde, 2016,

p. 17), realiza un aplicativo de escritorio en el que trata los algoritmos FCFS, SSTF, SCAN, LOOK, C-SCAN, C-LOOK.

En este documento se presenta el desarrollo de una herramienta software, que tiene como finalidad apoyar el proceso de enseñanza/aprendizaje a nivel

universitario, considerando diferentes estilos de aprendizaje, de tal manera que sea posible la manipulación de diversos conceptos que resultan fundamentales en

el área de infraestructura computacional. Como la intención es que el aplicativo ayude evidenciando los diferentes estilos de aprendizaje, se integran diferentes

funcionalidades que permiten interactuar con ellos. En primer lugar está la funcionalidad de interacción con el algoritmo, esto lo que hace es permitir que el

usuario sea partícipe y parametrice por medio del ingreso de datos el actuar del sistema, es decir, para que un algoritmo funcione se requiere de darle los datos e

indicar qué acción ejecutar, el usuario ingresa los datos y selecciona ejemplo la acción crear, acto seguido se procesa la solicitud y se muestra el resultado en

pantalla, para los aprendices que requieren la prueba y error y manipulación de conceptos como los que encajan en el estilo pragmático de aprendizaje se pueden

valer de esta utilidad. Por otro lado, cada vez que el usuario genere un evento de acción se genera un escrito en el que se evidencian la acción ejecutada, esto

permitiendo que el usuario se pueda devolver a analizar el flujo del proceso ejecutado, esto para los estilos de aprendizaje reflexivos y teóricos son de gran

utilidad. Para finalizar se da la posibilidad de escuchar el informe anterior, para las personas que entienden mejor por estímulos sonoros, acompañado de la

visualización, se pueden ayudar bastante en esta funcionalidad.

Este documento está estructurado de la siguiente manera: En la sección 2, se muestra la contextualización del proyecto. En la sección 3, se explica el proceso de

desarrollo que se realizó para llevar a cabo el trabajo. En la sección 4 se presentan los diferentes resultados obtenidos, las conclusiones y trabajos futuros.

Finalmente en la sección 5 se relacionan las referencias bibliográficas que sirvieron de soporte para culminar el proyecto.
8
9

4. Contexto

1. Planteamiento del problema

Un estilo de aprendizaje es la forma en que una persona reacciona a los estímulos del ambiente generados por una respuesta del cerebro en diversas

circunstancias (Conte et al., 2020). Los estilos de aprendizaje son tenidos en cuenta en las instituciones de educación superior y son de gran importancia

debido a que permiten que los estudiantes entiendan con una buena disposición el sentido del conocimiento, contribuyen en los procesos de conocimientos

de los grupos y consolidan un proceso educativo idóneo (Marsiglia Fuentes et al., 2020).

En el proceso de aprendizaje pueden surgir diferentes estilos de aprendizaje, ya que un alumno puede disponer preferencias entre diferentes estrategias

(Garcia et al., 2020). Los estilos de aprendizaje suelen ser variados en diferentes instituciones de educación superior. Peter Honey y Alan Mumford, dos

grandes aportadores de los estilos de aprendizaje, consideran que las personas no aprenden las mismas cosas ni aprenden de la misma manera, aun cuando

estos comparten el mismo entorno académico. Existen cuatro estilos de aprendizaje; teórico, pragmático, reflexivo y activo. Algunos estudiantes pueden

combinar estilos de aprendizaje, por ejemplo; teórico-reflexivo, teórico-pragmático, reflexivo-pragmático, activo-pragmático (Puello Cardona et al., 2017).

Contar con un único estilo de aprendizaje en un espacio académico podría poner en desventaja a algunos estudiantes. Martín Martín (2017), resalta que

cuando un profesor hace uso de su propio estilo de aprendizaje, este puede presentar un sesgo para el aprendizaje, favoreciendo a los alumnos que cuenten

con un estilo de aprendizaje semejante al que usó el docente. Marsiglia Fuentes et al. (2020), mencionan que para que el desarrollo de un alumno sea integral

se deben considerar todos los estilos de aprendizaje. González Calixto et al. (2017), afirman que “Todo sistema de participación debe asegurar una equitativa

distribución de los derechos, beneficios, responsabilidades, recursos, oportunidades y cargas en la sociedad.” (p. 244).

El proceso de enseñanza en ingeniería implica la disposición de un proceso enfocado en el estudiante creado de forma interactiva y colaborativa, generando

un aprendizaje de por vida. Se comprende que en la época actual es indispensable la aplicación de las tecnologías de la información y las

telecomunicaciones (TIC) en el proceso de enseñanza-aprendizaje (Escalante et al., 2020). El uso de entornos virtuales contribuye notablemente en el

aprendizaje-enseñanza de los estudiantes, Rodríguez Carracedo y Vásquez Carro (2013), destacan que la intervención didáctica mediante la utilización de

entornos virtuales y contorno de aprendizaje, abarca un impacto positivo en la formación integral de las personas. Las TIC se han relacionado con los estilos

de aprendizaje, en áreas como las ciencias de la computación y los sistemas de información, y fortalecidos mediante enseñanzas variadas, haciendo que los

estudiantes fortalezcan habilidades y adquieran expectativas de aprendizaje para el futuro. (Cabarcas et al., 2018).

Según lo expuesto, la pregunta de investigación es; ¿Cómo la tecnología de visualización de datos puede ayudar en el proceso de enseñanza / aprendizaje a

nivel universitario en temas relacionados con la infraestructura computacional?.


10

2. Objetivos

General

Desarrollar una herramienta de software, que sirva como apoyo al proceso de enseñanza/aprendizaje a nivel universitario, considerando diferentes estilos de

aprendizaje, permitiendo la visualización y manipulación de diversos conceptos fundamentales del espacio académico de infraestructura computacional.

Específicos

A. Identificar los conceptos fundamentales del espacio académico de Infraestructura computacional que puedan servir de apoyo a los diferentes

estilos de aprendizajes de los estudiantes y requieran de apoyo para su visualización y/o manipulación.

B. Determinar estrategias de visualización y manipulación de los conceptos fundamentales identificados.

C. Diseñar una herramienta de software con planteamiento responsivo, que implemente las diversas estrategias de visualización y manipulación de

los conceptos fundamentales.

D. Realizar pruebas de las funcionalidades implementadas en la herramienta de software.

E. Validar la herramienta implementada con estudiantes que cursan el espacio académico de Infraestructura Computacional.

3. Marco teórico

Infraestructura computacional

El tema de Infraestructura computacional, puede encasillar diferentes conceptos y definiciones, pero de forma global e informal se puede definir como el conjunto

de hardware y software necesario para realizar computación, especialmente a nivel empresarial. Esto incluye: Procesamiento (poder de cómputo),

almacenamiento y conectividad (red); además de todas las aplicaciones (software) relacionadas con: Sistemas operativos, seguridad, administración, herramientas

de desarrollo, entre otras.

Los anteriores conceptos se pueden definir de la siguiente manera:


11

● Poder de Cómputo: Se conoce también como poder de CPU, lo cual refiere a la capacidad del equipo de cómputo para manejar los datos, esta

capacidad está ligada a la arquitectura del equipo (MIT, s.f., p. 1).

● Almacenamiento: Son dispositivos periféricos, que actúan como medio de soporte, para el almacenamiento de los datos y ficheros que son

manejados por las aplicaciones que se ejecutan en estos equipos (Mc Arthur, 2016).

● Conectividad: Los elementos de red interconectados permiten la comunicación, la gestión y las operaciones de red entre los sistemas internos y

externos. La red consta de conexión a Internet, habilitación de la red, firewalls y seguridad, al igual que de elementos de hardware, como enrutadores,

conmutadores y cables (Red Hat, s.f., p. 5).

● Sistema Operativo: según Lazo J. (2018), se define así:

Es el software principal y está compuesto por diferentes programas que se relacionan entre sí para proporcionar los recursos del funcionamiento de los diferentes elementos que

hay en la computadora, el sistema ejecuta componentes de hardware y facilita a los programas de aplicación (p. 19).

● Seguridad: “Es un conjunto de estándares, políticas, métodos y protocolos encargados de resguardar la infraestructura tanto Hardware como

Software incluyendo la información administrada y almacenada por los mismos, garantizando su disponibilidad, integridad y confidencialidad”(Leandres

Maucaylle, 2019, p. 18).

● Administración: Es la coordinación de todos los recursos, los sistemas, las plataformas, las personas y los entornos de TI (Red Hat, n.d., p. 9).

● Herramientas de desarrollo: Conjunto de programas dedicados a la creación y mantenimiento de programas desarrollados.

Proceso enseñanza/aprendizaje

El desarrollo de las TIC ha traído muchos cambios, entre ellos los sistemas de enseñanza, los cuales se deben rediseñar para poder dar solución y respuesta a las

nuevas demandas de formación en un ámbito social más justo. La inclusión de las TIC en entornos educativos ha generado nuevos conceptos del proceso

enseñanza-aprendizaje, donde la prioridad es el proceso de aprendizaje como tal. Para esto no es necesario pensar en la tecnología, porque ésta ya está, por lo

tanto, se debe pensar en la innovación de la pedagogía apoyándose en el uso de estas herramientas. Es necesario para este fin que el profesor sea una parte más

fundamental en el proceso de enseñanza, ya que “para lograr su integración a los nuevos contextos educativos debe tener mentalidad abierta al cambio,

convirtiéndose en el diseñador de situaciones mediadas de aprendizaje, realizar el diagnóstico de las habilidades y necesidades de los estudiantes, y reformular y

adaptar proyectos.” (Alpaca, 2017, p. 34). De igual manera el autor también expresa que “Las TIC permiten innovar en las prácticas pedagógicas, el alumno se

convierte en actor y constructor de su propio aprendizaje y el profesor se convierte en guía y facilitador de este proceso.” (Alpaca, 2017, p. 34).
12

El proceso enseñanza/aprendizaje se puede entender como la interacción producida en un ámbito académico, que permite generar estrategias con el fin de generar

algún aprendizaje, ya sea especializado o general. El uso de diferentes herramientas apoyadas en tecnología como lo es la realidad aumentada en los procesos

enseñanza-aprendizaje, la cual funciona independientemente del contexto, ha demostrado generar ventajas que no se alcanzan a lograr con metodologías

tradicionales. El no contar con herramientas que propicien en el estudiante una comunicación e iteración con los diferentes conceptos académicos, puede

provocar un desvió en la atención del educando, lo cual a su vez genera poco interés por aprender y participar en la generación de conocimiento. Estudios sobre el

uso de la realidad aumentada ha demostrado mediante estudios cuantitativos y cualitativos que ayuda a mejorar el proceso enseñanza-aprendizaje, esto debido a

que el estudiante aumenta su motivación debido a la interacción y al realismo que el uso de la herramienta ofrece. (Lucas Mero, 2017).

Mero Suárez et al. (2018), presentan que el uso de diferentes tecnologías que favorecen la visualización mediante software “presentan un medio audiovisual

interactivo multimedial cuyas bondades en el campo de la psicopedagogía han sido experimentadas”, lo cual presentan beneficios como: aumento de la

motivación, facilita el desarrollo de habilidades o destrezas, asisten al desarrollo de capacidades analíticas, soporte a la docencia. También exponen que el uso de

las herramientas no pretende suplir la labor del docente, sino que es un apoyo para el seguimiento de la clase y apoyar los diferentes conceptos que el docente

expone, además de fomentar el autoaprendizaje, el estudio independiente y personalizado cuando se hace uso de estas herramientas en los horarios extra clase.

Estilos de aprendizaje

Hoy en día el estudio acerca de cómo las personas aprenden, procesan y obtienen conocimiento, hace alusión a los diferentes estilos de aprendizaje, y como tal se

han llevado investigaciones relacionados a aumentar la eficacia y eficiencia a la hora de transmitir el conocimiento en los contextos académicos. Alpaca, (2017),

aprecia que no todos los individuos aprenden las mismas cosas en el mismo entorno, a igual velocidad o de la misma forma, es muy probable que cada persona

tenga sus propias interrogantes y que la resolución de ellas los lleve a enfocarse en diferentes áreas con respecto a las demás personas, estos resultados muchas

veces están ligados a factores como la motivación, la cultura, la edad, el entorno de desarrollo de la persona, etc.; y aun si compartieran estos factores habrían

diferencias notables, y esto se debe a las diferentes formas que tienen las personas de obtener conocimiento.

Varios estudiosos del tema han coincidido en que la definición de estilos de aprendizaje que más se acepta es la de Keefe, la cual indica que son “los rasgos

cognitivos, afectivos y fisiológicos que sirven como indicadores relativamente estables, de cómo los discentes perciben interacciones y responden a sus ambientes

de aprendizaje” (Puello Cardona et al., 2017, p. 33).


13

Los diferentes rasgos y formas de aprender llevan al individuo a elaborar mecanismos y métodos apropiados para su propio aprendizaje, entre estos métodos

personalizados se presentan conceptos globales que permiten agruparlos en diferentes estilos dependiendo de la fase del proceso de aprendizaje (Selección y

representación, organización o procesamiento de la información).

Dentro de los estilos en la fase de selección de la información, lo cual se asocia con el canal o el sentido por donde se capta la información, se pueden clasificar

como visual, auditivo y kinestésico.

Según Reyes Rivero et al. (2017), estos estilos se definen de la siguiente manera:

Visual: los sujetos que perciben desde este canal piensan en imágenes y tienen la capacidad de captar mucha información con velocidad, también son capaces abstraer y

planificar mejor que los siguientes estilos. Aprenden con la lectura y presentaciones con imágenes.

Auditivo: los sujetos que utilizan el canal auditivo en forma secuencial y ordenada aprenden mejor cuando reciben explicaciones orales y cuándo pueden hablar y

explicar determinada información a otra persona. Estos alumnos no pueden olvidar una palabra porque no saben cómo sigue la oración; además, no permite relacionar conceptos

abstractos con la misma facilidad que el visual. Es canal es fundamental en estudios de música e idiomas.

Kinestésico: son sujetos que aprenden a través de sensaciones y ejecutando el movimiento del cuerpo. Es el sistema más lento en comparación a los anteriores, pero su ventaja

es que es más profundo, una vez que el cuerpo aprende determinada información le es muy difícil olvidarla; así, estos estudiantes necesitan más tiempo que los

demás, lo que no significa un déficit de comprensión, sino sólo que su forma de aprender es diferente (p. 238).

Algunos autores agrupan los anteriores estilos de aprendizaje como los principales, adicionalmente también se hace mención a dos estilos más, el estilo lector-

escritor y multimodal.

● Lector-Escritor: “esta preferencia se refiere a la información mostrada en forma de palabras es decir que se centra en la información presentada en

forma de texto –leer y escribir en cualquiera de sus formas” (Castillo Díaz & Mendoza Aly, 2016, p. 35).

● Multimodal: En este estilo básicamente se tienen características de diferentes estilos, por lo cual no se resalta una inclinación por alguno.

En la fase de organización de conocimiento Alpaca (2017), los divide según la teoría de los hemisferios cerebrales, lo cual nos indica y divide el cerebro en dos

hemisferios, el hemisferio lógico, el cual piensa de forma abstracta y le es más fácil asociar la información con símbolos, y el hemisferio holístico, el cual se le

facilita asociar la información con ejemplos.


14

Para cerrar el ciclo de aprendizaje la última fase es el procesamiento de la información, fase en la que se mencionan que existen los estilos activo, reflexivo,

teórico y pragmático. El estilo activo, es el estilo de la creatividad, de la exploración, del intentarlo, es decir, las personas en las que predomina este estilo les

gustan intentar y arriesgarse a realizar todo, estando a la expectativa del resultado, por lo cual se les dificulta cuando la labor asignada tiene mucho componente

teórico, requiere de seguir pasos, repeticiones o trabajare en solitario. Por su parte el reflexivo tiene como su mayor fuerte la visión de una situación desde

diferentes perspectivas, para lo cual se requiere de tiempo de observación y de análisis, por lo cual se tiene dificultad cuando se debe realizar algún ejercicio en

poco tiempo o cuando la tarea resulta sin previo aviso. El estilo teórico se centra en y adapta en las observaciones de teorías densas, complejas y lógicas, se

destacan dentro de este estilo personas con fuerte sentido crítico, que abarca todas las situaciones desde la lógica principalmente. Por otro lado, las personas que

se comportan según el estilo pragmático, se centran en la componente práctica, ya que para esas personas es necesario el experimentar y comprobar las diferentes

teorías poniéndolas en práctica para observar de qué forma resulta (Puello Cardona et al., 2017). Estos estilos muchas veces pueden ser mencionados y

catalogados como estilos según características personales.

Las fases mencionadas anteriormente suelen ser muy aceptadas cuando se habla de aprendizaje, pero no todos los autores concuerdan con los estilos, claro

ejemplo es del modelo propuesto por Felder y Silverman en 1988, los cuales plantean dimensiones similares: procesamiento, percepción, representación y

comprensión.

Cada dimensión encasilla diferentes estilos.

En la dimensión de procesamiento, Camaná Fiallos y Torres Carrera (2017) definen los estilos activo y reflexivo de la siguiente manera:

Activo: La persona retiene y comprende mejor una nueva información cuando hace algo activo con ella, es decir, aprende mejor en forma de ensayo y trabajando con otras

personas o pares del aula.

Reflexivo: La persona retiene y comprende una nueva información suministrada, es decir, reflexiona, aprende, medita, piensa y trabaja independientemente (p. 5).

En la dimensión de percepción, Camaná Fiallos y Torres Carrera (2017) definen los estilos sensitivo e intuitivo de la siguiente manera:

Sensitivo: La persona es concreta, práctica, de hechos reales, es decir prefiere memorizar hechos con facilidad.

Intuitivo: La persona es conceptual, innovadora, teórica, es decir, aprende rápidamente nuevos conceptos, trabajan bien con abstracciones y fórmulas matemáticas (p. 5).

En la dimensión de representación, Camaná Fiallos y Torres Carrera (2017) definen los estilos visual y verbal de la siguiente manera:
15

Visual: La persona tiende a la obtención de información por representaciones visuales, porque recuerda mejor lo que ve, por medio de diagramas de flujo, símbolos, etc.

Verbal: La persona prefiere obtener información en forma escrita, es decir, recuerda mejor lo que lee o escucha (p. 5).

En la dimensión de comprensión, Camaná Fiallos y Torres Carrera (2017) definen los estilos secuencial y global de la siguiente manera:

Secuencial: La persona tiende a solucionar problemas, mediante caminos por pequeños pasos lógicos, es decir, aprende en pequeños pasos incrementales.

Global: La persona tiende a aprender nuevo material, de pronto visualiza la totalidad, es decir, aprende a grandes saltos, porque resuelve problemas complejos rápidamente (p.

5).

Otra de las clasificaciones que se estudian y se puede decir es el punto de partida para este tipo de estudios, es la de Interacción social de Kholber en 1969, la cual

indica que cada persona es un universo, el cual su forma de aprender está fuertemente ligado a su interacción con el medio, en este caso la interacción con los

participantes del espacio en el que se desarrollan las lecciones de estudio. Heredero (2019), menciona y define las siguientes formas de aprendizaje:

Competitivo: Aprenden el material para sentirse mejor que los demás. Compiten con sus compañeros y amigos para ver quién obtiene la mejor calificación. Tienden a captar la

atención del profesor, necesitan sentirse protagonistas.

Evasivo: Ocurre en alumnos que no están interesados en un contenido en concreto, o posiblemente en todo el curso. No suele participar con el profesor, ni tampoco con sus

amigos. No sienten lo que están aprendiendo como algo que deban hacer, no sienten una motivación.

Colaborativo: Típico de personas que quieren compartir ideas y conocimientos. Cooperan tanto con maestros como con sus propios compañeros, sienten el aprendizaje como

algo interesante e intentan que sus compañeros sientan lo mismo que ellos.

Dependiente: Ven a los profesores y a sus compañeros como un apoyo, necesitan figuras de autoridad para que les digan qué deben de hacer. Necesitan que el profesor les guíe

constantemente en cada paso que tengan que dar.

Independiente: Son muy independientes, aunque siguen confiando en sus profesores y compañeros, aun así, su pensamiento es mucho más importante que el de los demás,

necesitan aprender como ellos quieren. (p.2305)

Por su parte Herrmann en 1982, realiza la explicación acerca del proceso de aprendizaje desde explicaciones científicas acerca del funcionamiento del cerebro,

dando pie al modelo de cuadrantes cerebrales, el cual según él dependiendo de qué zona del cerebro se usa, representa una forma de aprender, ya que cada zona

es diferente al momento de operar, pensar, crear o aprender.


16

Heredero (2019), ubica y describe los cuadrantes trabajados por Herrmann de la siguiente forma:

Zona Cortical Izquierda (Ci): Perfil Experto. Representa una persona lógica- analítica con una forma de razonar basada en hechos. Está más próximo de lo cuantitativo.

Zona Límbico Izquierda (Li): Perfil Organizador. Puede ser una persona organizada, secuencial y planificadora. Es bastante detallista.

Zona Límbico Derecha (Ld): Perfil Comunicador. Se trata de una persona emotiva y con sentimientos con capacidad de establecer buenas relaciones interpersonales.

Zona Cortical Derecha (Cd): Perfil Estratega. Es un sujeto holístico, que ve el todo y por tanto intuitivo y sintetizador. Es integrador (p. 2303).

Uso de software para apoyar los diferentes estilos de aprendizaje

Actualmente se conoce y se estudia el hecho de que existen diversas formas de aprender y adquirir conocimiento, y que estas formas se pueden agrupar en

diferentes grupos denominados estilos, lo que resalta que el proceso de enseñanza no se puede seguir llevando de forma teórica expositiva y memorística como en

tiempos anteriores, sino que, por el contrario, el proceso de enseñanza hoy por hoy se centra las pedagogías dependiendo de las necesidades de los estudiantes.

No se puede desconocer el aporte de la tecnología, como se menciona en Alpaca, (2017), las nuevas generaciones se desarrollan en entornos donde es normal el

uso de tecnologías para satisfacer necesidades, lo cual hace que esta generación se adecue de forma fácil a cualquier herramienta tecnológica que se les presente.

Como menciona Alpaca (2017):

La utilización de las TIC, no evita los problemas del fracaso escolar, su uso no necesariamente implica que la enseñanza sea de más calidad, sin embargo, posibilita la creación

de situaciones específicas de enseñanza que, convenientemente diseñadas por el profesor o el agente educativo, permiten alcanzar metas y objetivos planteados. (p.35).

El que se pueda hacer uso de la tecnología en cualquier contexto, no quiere decir que se deba hacerlo de forma desmedida, ya que esta es un apoyo y no un

sustituto a un tutor que guía los conceptos como lo hacen los docentes. En Albo Castro et al. (2020), se plantea una guía para la asignatura Sistemas Operativos,

en la cual se mencionan y argumentan el uso de diversas metodologías y medios de enseñanza para el apoyo a los conceptos. Como se puede evidenciar en

Tanenbaum y Bos (2016), el cual es uno de los textos guías más importantes del curso, y de igual manera exponen Albo Castro et al. (2020), la asignatura se

compone de un temario teórico extenso con conceptos abstractos que fácilmente no se logran digerir y propiciar la absorción del conocimiento, por lo cual se

recomienda hacer uso de diferentes herramientas que logren realizar la representación de mejor forma para los estudiantes.

A si mismo Trefftz y Mc’Cormick Cardona (2015), presenta un entorno en el que en la asignatura Sistemas Operativos se hace uso de un simulador base, el cual

tiene diferentes funcionalidades, una es el permitir la visualización y manipulación de diferentes conceptos que se requieren en la asignatura, y la otra es mediante
17

la programación instruir a los estudiantes para el desarrollo de nuevos conceptos, de esta forma permitiendo que los estudiantes exploren de diferentes forma los

conceptos, dando lugar a que el estudiante expuesto a diferentes formas de llegar al conocimiento, pueda primero ver diferentes visiones de los objetos de estudio

y a demás pueda ser expuesto a la forma que mejor le funcione para aprender y generar conocimiento. Como resultados se obtiene que los proyectos individuales

fueron muy exitosos, se concluye que la metodología basada en el simulador es adecuada para impartir los conceptos de la materia.

Por otro lado, Mero Suarez et al. (2018), argumentan como la visualización mediante software ha favorecido la enseñanza en temas abstractos como la

programación, temas que muchas veces de forma teórica no es posible asimilar de la mejor forma, en el documento hace referencia al enfoque constructivista

asistido por computadoras, este enfoque permite establecer diferentes dinámicas y estrategias para el uso de diferentes herramientas que permitan establecer el

nivel de asimilación por parte del estudiante, y de ser necesario buscar alternativas. Se concluye que el aprendizaje mediante la visualización de programas

contribuye a la generación de conocimiento en áreas como la programación.

Patrones arquitectónicos

En (Sánchez Castillo, 2020) se describe que un patrón o arquitectura de software, “Describe los componentes básicos de un sistema de software y su

combinación interna. En el marco de desarrollo de software, representa la decisión de diseño más temprana”, y que esta se determina por cuestiones de

estándares de calidad como mantenibilidad, seguridad, rendimiento, etc. Por su lado (Rodríguez & Silva, 2016) reconoce como definición acertada la propuesta

por la ieee, que indica que "La arquitectura de software es la organización fundamental de un sistema enmarcada en sus componentes, las relaciones entre ellos, y

el ambiente, y los principios que orientan su diseño y evolución".

A. Arquitectura limpia.

Para (Cambarieri et al., 2020) una arquitectura limpia, es aquella que cumple con las características que define de la siguiente manera:

Independiente de los frameworks. La arquitectura no depende de la existencia de una librería o biblioteca de software.

Testeable. Las reglas de negocio pueden ser probadas sin la interfaz de usuario, base de datos, servidor web, o cualquier otro elemento externo.

Independiente de la Interfaz de Usuario. Se puede cambiar fácilmente, sin cambiar el resto del sistema. Una interfaz de usuario web podría ser ASSE, Simposio Argentino de

Ingeniería de Software reemplazada por una consola, por ejemplo, sin cambiar las reglas del negocio.

Independiente de la base de datos. Dado que las reglas de negocio no están ligadas a la base de datos, es posible cambiar el motor de base de datos.

Independiente de cualquier agente externo. Las reglas de negocio no conocen en absoluto sobre las interfaces con el mundo exterior. (p. 195)

De igual manera (Cambarieri et al., 2020) pone como ejemplo el patrón por capas como muestra de una arquitectura limpia.
18

B. Patrón por capas.

El patrón por capas es uno de los más sencillos de implementar y una de las más utilizadas, dado que es bastante simple de implementar, además de que ante la

incertidumbre de no saber que patrón usar, este diseño es una salida por defecto (Blancarte, n.d.).

(Corpas Crehuet, 2014) define el patrón por capas como un sistema en forma de torre que tiene jerarquía, la cual tiene como objetivo permitir solamente el

consumo de servicios de las capas inferiores. Como se evidencia en la figura #, la comunicación se da con las capas inferiores, y de ser necesario es la capa

inferior la encargada de comunicarse con la capa inmediatamente inferior y así sucesivamente hasta consumir el servicio requerido para obtener la respuesta a lo

solicitado.

Las capas más comunes o que por convención se usan por que se adaptan a la mayoría de situaciones son:

❖ Capa de presentación

❖ Capa de negocio

❖ Capa de persistencia

❖ Capa de base de datos

Figura 1. Comunicación entre procesos

Fuente: (Blancarte, n.d.)

Se debe tener en cuenta que las capas anteriormente mencionadas no son obligatorias, dependiendo de la índole, especificaciones y necesidades del sistema,

pueden ser más o menos.


19

4. Alcance y delimitación

El presente proyecto, “Visualización de conceptos en el área de Infraestructura Computacional mediante un Aplicativo offline.”, tiene como objetivo el

diseñar e implementar un aplicativo offline para dispositivos móviles y ordenadores, el cual permita la visualización y manipulación de conceptos

fundamentales del espacio académico de infraestructura computacional.

El aplicativo de software, tendrá la posibilidad de operar en plataformas móviles; (android, IOS) y en ordenadores con sistema operativo; Windows y MAC.

Para este proyecto se pretende ofrecerlo con licencia GPL o GNU para uso con fines académicos, por lo cual no se va a realizar evaluación económica de la

implementación.

La aplicación “Visual Infrastructure Concepts”, cumplirá con los diferentes objetivos propuestos en este documento, identificando los diferentes conceptos

que requieran soporte para su visualización y manipulación, el diseño, implementación y pruebas de los mismos. Se realizará un software de carácter

responsivo, el cual tendrá la capacidad de visualizar el concepto, y dependiendo de éste el poder variar sus parámetros para ilustrar los diferentes resultados

de forma gráfica.

5. Cronograma

A continuación se relaciona el cronograma inicial que se presentó para la ejecución del proyecto.

2021

ACTIVIDAD Mes 1 Mes 2 Mes 3 Mes 4 Mes 5 Mes 6

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

Identificación de conceptos fundamentales

Determinar temas fundamentales del


espacio académico de Infraestructura x
computacional.

Definir criterios de selección para los


x
conceptos a trabajar.

Describir los temas seleccionados. x

Determinar estrategias de visualización y manipulación

Consultar e identificar diferentes


estrategias de visualización y x x
manipulación de conceptos.

Determinar las estrategias de


visualización y manipulación de x x

conceptos a emplear.
20

Diseño de la herramienta de software

Identificar y describir requisitos


x x x
funcionales y no funcionales

Especificar la arquitectura de
x x x x
software

Desarrollo de la herramienta x x x x x x x x x x x

Pruebas

Aplicar pruebas funcionales. x x x x

Ajustes según pruebas funcionales x x x x

Validación

Validación de la herramienta. x x

Redacción del documento con los


x
resultados.

Debido a diferentes factores, fue necesario reestructurar los tiempos del proyecto. Se aceptó la prórroga de tiempo para culminar el trabajo con un plazo de 3

meses.

ACTIVIDAD

Mes 1 Mes 2 Mes 3

1 3 4 1 2 4 1 2 3 4
2 3

Desarrollo de la herramienta x x x x x x x x

Aplicar pruebas funcionales. x x

Ajustes según pruebas funcionales x x

Validación de la herramienta. x x

Redacción del documento con los resultados. x x x x x x x x x x x x


21

5. Desarrollo

6. Consideraciones generales

El producto se centra en la posibilidad de apoyar mediante diversas estrategias que faciliten la inclusión de los estilos de aprendizaje en el proceso de

aprendizaje/enseñanza de conceptos en el área de Infraestructura computacional. El campo de acción de este o a quien va dirigido es para aquellas personas

que quieran interactuar con estos temas, como por ejemplo, estudiantes de la carrera Ingeniería de sistemas y computación de la Universidad del quindio. Se

tiene en cuenta también que no todas las personas cuentan con un computador, pero en gran número si poseen un dispositivo móvil, para lo cual se considera

la distribución de éste, por medio de una metodología web para plataformas como Windows centradas a los computadores y la generación de los aplicativos

nativos para móviles como Android.

Para la versión web, por temas de facilidad en el uso de la herramienta, se opta por crear un contenedor haciendo uso de docker Hub +. La figura 2,

evidencia la realización de este proceso.

Figura 2. Contenedor de la versión de escritorio del aplicativo

Fuente: Propia

7. Investigación

Determinar conceptos fundamentales a tratar


22

Se plantea como objetivo del proyecto abarcar diferentes conceptos de la asignatura Infraestructura computacional, al mismo tiempo que se abordan los

temas, estos se deben presentar teniendo en cuenta los estilos de aprendizaje. Por tal motivo se hace necesario indagar los diferentes estilos de aprendizaje,

los diferentes conceptos que se pueden tratar en el área y cómo a partir de los estilos de aprendizaje se puede diseñar un aplicativo que junte estas dos

necesidades.

Junto con el docente que dirige este trabajo, quien en su calidad de experto ayudó a priorizar y definir qué algoritmos eran fundamentales para tener en

cuenta y abarcar. En (anexo 1), en la pestaña relación, se encuentra la relación de las diferentes dinámicas usadas para abarcar los diferentes estilos de

aprendizaje con los temas a tratar.

Definición de herramientas de desarrollo

Como característica del aplicativo se tiene que sea multiplataforma, es decir, que se permita su ejecución no solo en un sistema operativo como Windows,

sino que también se pueda ejecutar en linux, android, mac o ios. Para determinar las herramientas que se usaron, se realizó el proceso evidenciado en (anexo

2), el cual muestra una comparativa de los Frameworks Ionic (JavaScript), React Native (JavaScript) y Flutter(Dark). Como resultado se opta por trabajar

con React Native.

8. Diseño

Una vez definido qué estrategias y qué temas desarrollar, se lleva a cabo un levantamiento de requerimientos para estructurar los límites y el uso del

aplicativo, el desarrollo de este proceso se evidencia en (anexo 3). Seguido a esto, se continuó con el diseño propio del software, para ello se genera el

(anexo 4) correspondiente al diseño de arquitectura del sistema a implementar. Posteriormente se realizan los diseños preliminares de interfaz, mockups o

formularios en papel, para tener una base de cómo afrontar los diferentes requisitos del sistema.

Formularios preliminares

En (anexo 1) en la pestaña con el nombre correspondiente a los algoritmos, se encuentran los formularios en papel o diseños preliminares de estos. Se debe

tener presente que a medida que se desarrolló el proyecto algunos diseños cambiaron, estos solo eran una base para iniciar, no el diseño final del aplicativo.

9. Ejecución

Trabajo colaborativo y versionamiento


23

Luego de saber las acciones a realizar, como equipo de trabajo se repartieron diferentes conceptos, esto con el fin de ir avanzando sin necesidad de estar el

grupo completo. En un inicio cada integrante trabajo configuró , implemento y guardó los avances realizados de forma local en su equipo, al en ver las

limitantes de trabajar de esta forma, en especial cuando se requería ayuda de la otra parte, se pasó a trabajar en repositorios, en este caso la herramienta

escogida fue GitHub por el acercamiento previo que se tenía de la herramienta, además de proporcionar la gestión de versionamiento del aplicativo y

permitir tener todos los cambios sin necesidad de acceder o requerir el equipo de los demás integrantes.

Estructuración del proyecto

Como estructura general y para trabajar bajo un estándar que permitiera un trabajo eficiente en grupo, se plantearon diferentes consideraciones y estructuras

dentro del entorno de trabajo. Estructuras como tener por cada algoritmo dos carpetas, una con el prefijo script para la capa de la lógica y otra con el prefijo

components para la capa de interfaces, convenciones para nombrar variables, métodos y componentes o seccionar para cada algoritmo los styles de interfaz

Interfaces resultantes

A. Algoritmos de planificación

Para la ejecución de los algoritmos de planificación, se hace necesario el desarrollo del código necesario para accionar las funcionalidades. Mediante campos de

texto se le solicita al usuario que ingrese la información necesaria para poder, mediante acciones de botones indicar la acción a ejecutar. Adicionalmente se hace

uso de un selector para poder elegir el algoritmo a ejecutarse, como se evidencia en la figura 3.

Figura 3. Interfaz de ingreso de datos Algoritmos de planificación.


24

Fuente: Propia

En la figura 4 se muestran las tablas con la información resultante de la ejecución.

Figura 4. Tablas de datos Algoritmos de planificación.

Fuente: Propia

A continuación se presenta la figura 5 con la correspondiente gráfica en función de unidad de tiempo que ilustra los datos anteriores.

Figura 5. Gráfica Algoritmos de planificación.

Fuente: Propia.
25

B. Algoritmos para estrategias de ajuste

Para el funcionamiento de estos algoritmos desarrolló las funcionalidades respectivas, para lo cual como se muestra en la figura 6, se solicita mediante un campo

de texto que el usuario ingrese la cantidad de solicitudes, mediante selectores elija el algoritmo con el que desea trabajar, y los diferentes botones para las

acciones.

Figura 6. Interfaz de ingreso de datos Estrategias de ajuste

Fuente: Propia

En la figura 7 se muestra una tabla con las diferentes solicitudes, para cada una de ellas se tiene un selector con opciones para que el usuario interactúe con ellas.
26

Figura 7. Tabla de datos para solicitudes Estrategias de ajuste

Fuente: Propia

A continuación se presenta la figura 8 con la correspondiente tabla resultante de las interacciones anteriores.

Figura 8. Tabla resultante Estrategia de ajuste

Fuente: Propia
27

C. Paginación de memoria

Para el desarrollo de este algoritmo se realiza la interfaz evidenciada en la figura 9, la cual tiene su sección para la interacción con el usuario. Esta consta de una

serie de campos de texto acompañados de su respectivo botón para la ejecución de la acción. Las acciones a tener en cuenta son: Ingresar una palabra limitada a 3

caracteres que representa un proceso, ingreso de un índice de página y una posición para solicitar un ítem y un índice de página para eliminar el proceso creado.

Figura 9. Interfaz de interacción Paginación de memoria.

Fuente: Propia

En la figura anterior, también se muestra parte de la tabla de procesos, en la cual se acomodan los procesos según su orden de inserción. En la figura 10 se

muestra la tabla correspondiente a la tabla de páginas, la cual relaciona la página que ve el usuario en la la figura 8 con la memoria física.
28

Figura 10. Tabla de páginas. Paginación de memoria.

Fuente: Propia

A continuación se presenta la figura 11, que muestra la representación de la memoria física.

Figura 11. Memoria física Paginación de memoria

Fuente: Propia

La figura 12 representa los bloques de memoria destinados para la memoria virtual, la cual se hace uso de ella cuando la memoria física se llena.
29

Figura 12. Memoria virtual Paginación de memoria

Fuente: Propia

Finalmente se presenta la figura 13, que evidencia el reporte escrito de las diferentes acciones realizadas en el desarrollo de la ejecución del algoritmo,

acompañado de su respectivo botón de escucha.

Figura 13. Informe escrito y botón de escucha Paginación de memoria


30

Fuente: Propia

D. Segmentación de memoria

Para el desarrollo de este algoritmo se realiza la interfaz evidenciada en la figura 14, la cual tiene su sección para la interacción con el usuario. Esta consta de una

serie de campos de texto acompañados de su respectivo botón para la ejecución de la acción. Las acciones a tener en cuenta son: Ingresar una palabra que

representa un proceso, ingreso de un índice de segmento y una posición para solicitar un ítem y un índice de segmento para eliminar el proceso creado.

Figura 14. Interfaz de interacción Segmentación de memoria

Fuente: Propia

En la figura 15, se muestra la tabla de procesos, en la cual se acomodan los procesos según su orden de inserción.
31

Figura 15. Tabla de procesos Segmentación de memoria

Fuente: Propia

En la figura 16 se muestra la tabla correspondiente a la tabla de segmentos, la cual relaciona el segmento que ve el usuario en la la figura 15 con la memoria

física.

Figura 16. Tabla de segmentos Segmentación de memoria


32

Fuente: Propia

A continuación se presenta la figura 17, que muestra la representación de la memoria física.

Figura 17. Memoria física Segmentación de memoria.

Fuente: Propia

E. Sincronización de procesos

Para el desarrollo de este algoritmo se realiza la interfaz evidenciada en la figura 18, la cual tiene su sección para la interacción con el usuario. Esta consta de un

campo de texto, por el cual el usuario podrá establecer la cantidad de semáforos a disponer, acompañado de su botón para generar la acción. Seguido a los

componentes anteriormente mencionados están unos campos de texto informativos con la configuración establecida. Luego se disponen las funciones ya sea de

ejecutar el algoritmo o de generar un ejemplo aleatorio.


33

Figura 18. Interfaz de interacción Sincronización de procesos


Fuente: Propia

A continuación se muestra la figura 19. Esta figura ilustra una tabla para la configuración de los diferentes hilos de ejecución y su resultado una vez terminado el

funcionamiento del algoritmo.

Figura 19. Resultados Sincronización de procesos


Fuente: Propia
34

F. Asignación de memoria en discos

Para el desarrollo de este algoritmo se realiza la interfaz evidenciada en la figura 20, la cual tiene su sección para la interacción con el usuario, esta consta de un

campo de texto, por el cual el usuario podrá indicar la palabra que conforma un proceso de ingreso que ocupará un espacio de memoria. Seguido se acompaña de

una serie de botones para las acciones de limpiar los discos, crear un proceso o archivo y eliminarlo. También se tiene un selector, mediante el cual se elige el

algoritmo a representar de forma gráfica.

Figura 20. Interfaz de interacción Asignación de memoria

Fuente: Propia

En la figura 21, se muestra la tabla de archivos, en la cual se acomodan los procesos según su orden de inserción
35

Figura 21. Tabla de archivos creados Asignación de memoria

Fuente: Propia

En la figura 22 se muestra la tabla correspondiente al mapa de memoria del disco, la cual de forma gráfica ilustra cómo quedan almacenados los archivos

ingresados.

Figura 22. Mapa de memoria Asignación de memoria

Fuente: Propia
36

A continuación se presenta la figura 23, que muestra la representación del mapa de bits del disco, donde se indica con un (0) si el bloque de memoria libre o con

un (*) si este se encuentra ocupado.

Figura 23. Mapa de bits Asignación de memoria

Fuente: Propia

G. Comunicación entre procesos

Para el desarrollo de este algoritmo se realiza la interfaz evidenciada en la figura 24, la cual inicia con una botonera de acciones que permite generar datos

aleatorios, ejecutar algoritmos y limpiar los datos ingresados. Luego se encuentra la sección con la que el usuario podrá interactuar con el funcionamiento del

algoritmo, puesto que ingresará los datos con los que se realizará la ejecución.
37

Figura 24. Interfaz de interacción Comunicación entre procesos

Fuente: Propia

A continuación se presenta la figura 25, que muestra el texto de salida o resultante de la ejecución del algoritmo con los datos ingresados, además se tiene la

información de los hilos que se llegan a bloquear.

Figura 25. Resultados Comunicación entre procesos

Fuente: Propia
38

H. Particiones de disco

Para el desarrollo de este algoritmo se realiza la interfaz evidenciada en la figura 26, la cual inicia con los campos correspondientes a la creación del disco, estos

son: Tamaño del disco en MB, nombre del disco y el tipo de disco a crear. Seguido están las opciones de crear disco o eliminarlo.

Figura 26. Interfaz de ingreso de datos para creación de disco - Particiones de disco

Fuente: Propia

En la figura 27, se muestra la sección de ingreso de datos para la creación de particiones en el disco seleccionado previamente, luego se presenta el botón con la

acción de creación.

Figura 27. Interfaz de ingreso de datos para creación de partición - Particiones de disco

Fuente: Propia

A continuación se presenta la figura 28, que muestra el registro de las particiones creadas para el disco seleccionado, al finalizar cada fila, se encuentran las

funciones de editar y eliminar. Es importante resaltar que la tabla tiene un sistema de scroll para su fácil uso hacia los lados.
39

Figura 28. Interfaz de visualización de particiones creadas - Particiones de disco

Fuente: Propia

En la figura 29, se muestra la sección de visualización de la distribución del espacio en el disco seleccionado.

Figura 29. Interfaz de visualización de uso del espacio en el disco - Particiones de disco

Fuente: Propia

10. Pruebas

Para verificar que la aplicación funciona correctamente, se realizaron una serie de pruebas unitarias a diferentes métodos presentes en la lógica de los algoritmos,

esto se evidencia en mayor profundidad en (Anexo 5).

La ejecución de las diferentes pruebas unitarias realizadas, se evidencian en estado correcto en la figura 30.
40

Figura 30. Ejecución de pruebas unitarias.

Fuente: Propia

11. Validación de la herramienta

La validación de la herramienta tiene como objetivo, dar a conocer si el aplicativo es de fácil manejo y es intuitivo su uso por parte del público usuario. La

muestra para realizar la prueba fueron dos grupos de estudiantes que actualmente cursan la asignatura de Infraestructura Computacional en la Universidad del

Quindio. Se plantea una serie de ejercicios por cada tema y se solicita que los estudiantes los realicen cada uno en su dispositivo móvil personal. Al finalizar los

ejercicios se pide que diligencien unas preguntas acerca de la aplicación y su interacción con los diferentes capítulos presentados. El proceso anterior se puede

evidenciar en (Anexo 6).

Antes de realizar las pruebas con autorización del docente a cargo, se les informó a los estudiantes que la actividad no era obligatoria y no iba afectar de alguna

manera su actuar académico. Como evidencia de que su participación era de su elección en (Anexo 7) se tienen los diferentes consentimientos firmados que

autorizan al registro fotográfico para evidencias.

6. Resultados

En esta sección se evidencian los resultados por algoritmo de las pruebas realizadas. En (Anexo 8), se tienen los resultados por participante y las gráficas

discriminadas por prueba.

En (Anexo 9) se encuentran los documentos escaneados con las valoraciones de los estudiantes.

El rango de respuestas a las preguntas es de 1 a 5, siendo 5 lo mejor.

12. Aplicación general

En la figura 31, se presentan los resultados obtenidos acerca de la aplicación en general.

Las preguntas que se realizaron fueron:

7. ¿Te impresionó la aplicación?

8. ¿Te gustó la aplicación?

9. ¿Te resulta útil?

10. ¿Te gustaría tener este tipo de aplicaciones como apoyo a las clases?

11. ¿Te emociona la idea de tener una app que te sirve de apoyo para las clases?
41

Figura 31. Resultados de la validación - Aplicación en general.

Fuente: Propia

Para cada uno de los algoritmos las preguntas planteadas fueron:

1. ¿Entendiste el algoritmo?

2. ¿Te gustó la presentación de las tablas y gráficas?

3. ¿Te pareció útil el reporte escrito de las acciones realizadas?

4. ¿Se entiende la distribución de las tablas y gráficas?

13. Algoritmos de planificación

En la figura 32, se muestran los votos obtenidos acerca de la interacción con los algoritmos de planificación en la herramienta.

Figura 32. Resultados de la validación - Algoritmos de planificación.

Fuente: Propia
42

14. Estrategias de ajuste

En la figura 33, se muestran los votos obtenidos acerca de la interacción con las estrategias de ajuste en la herramienta.

Figura 33. Resultados de la validación - Estrategias de ajuste.

Fuente: Propia

15. Sincronización de procesos

En la figura 34, se muestran los votos obtenidos acerca de la interacción con el tema de sincronización de procesos en la herramienta.

Figura 34. Resultados de la validación - Sincronización de procesos.

Fuente: Propia
43

16. Comunicación entre procesos

En la figura 35, se muestran los votos obtenidos acerca de la interacción con el tema de comunicación entre procesos en la herramienta.

Figura 35. Resultados de la validación - Comunicación entre procesos.

Fuente: Propia

17. Paginación de memoria y memoria virtual

En la figura 36, se muestran los votos obtenidos acerca de la interacción con los algoritmos de paginación de memoria y memoria virtual en la herramienta.

Figura 36. Resultados de la validación - Paginación de memoria.

Fuente: Propia
44

18. Segmentación de memoria

En la figura 37, se muestran los votos obtenidos acerca de la interacción con el algoritmo de segmentación de memoria en la herramienta.

Figura 37. Resultados de la validación - Segmentación de memoria.

Fuente: Propia

19. Asignación en disco

En la figura 38, se muestran los votos obtenidos acerca de la interacción con los algoritmos de asignación en disco en la herramienta.

Figura 38. Resultados de la validación - Asignación de disco.

Fuente: Propia
45

20. Particiones de disco

En la figura 39, se muestran los votos obtenidos acerca de la interacción con los algoritmos de particiones de disco en la herramienta.

Figura 39. Resultados de la validación - Particiones de disco.

Fuente: Propia

21. Estado actual

Se tiene un aplicativo que presenta de forma visual, interactiva, escrita y auditiva los algoritmos:

Algoritmos de planificación de procesos

● FCFS

● SJF/SJN

● Prioridad Externa

● Prioridad Interna (HRN)

● SRTF

● Prioridad Externa

● Prioridad Interna (HRN)

● RR

Particiones de disco
46

● MBR

● GPT

Administración de espacio

● Map de bits

Control de asignación de espacio

● Contigua

● Enlazada

● Indexada

● Indexada (Enlazada - Combinada - Multinivel)

Gestión de solicitudes

● Estrategia de ajuste sobre huecos

● Estrategia de ajuste sobre solicitudes

● Paginación (con memoria virtual)

● Segmentación

Sincronización de procesos

● Concurrencia de procesos

● Comunicación entre procesos

El programa para cada algoritmo, genera un reporte escrito de las acciones realizadas para llevar a cabo su funcionamiento y desarrollo, adicionalmente tiene la

posibilidad de escuchar dicho reporte.

El aplicativo actualmente presenta un diseño de interfaz básico, en el cual se evidencia el funcionamiento del concepto a representar. Se pretende mejorar el

diseño y presentación para mejorar su usabilidad y operación por parte del usuario.
47

23. Conclusiones

● De acuerdo a los resultados obtenidos, se identifica que a los estudiantes les emociona este tipo de estrategias de apoyo para las asignaturas, a su vez

que las encuentran útiles.

● En su gran mayoría, los estudiantes comprendieron los temas, incluso los que aún no habían alcanzado a ver a la hora de realizar la prueba. Lo que

indica que la herramienta realmente aporta en el proceso de enseñanza/aprendizaje de los temas expuestos.

● Se detalla que los algoritmos que resultan más complejos de entender e interactuar son aquellos con varios campos de entrada de datos, como los son

los que involucran hilos y particiones.

● Las interfaces de algunos algoritmos no resultaron tan intuitivas, esto debido a que faltan algunos diálogos que expliquen mejor su uso.

● Las interfaces con ingreso de datos para hilos, como en los algoritmos de sincronización de procesos y comunicación entre procesos, por lo menos

en la parte móvil no es óptima por su tamaño y el teclado. Se propone implementar diferentes estrategias.

24. Incidencias

Para el desarrollo del proyecto se utilizaron los frameworks React native y las herramientas y servicios proporcionados por Expo, el cual es un framework y

plataforma enfocada a plataformas nativas que facilita desarrollar, compilar, implementar e iterar rápidamente en iOS, Android y aplicaciones web desde la

misma base de código JavaScript / TypeScript.

Se hizo uso de la herramienta GitHub para el control de versiones del proyecto y la gestión del trabajo colaborativo.

Se utilizaron las diferentes herramientas de ofimática proporcionadas por google como los documentos y las sheets.

React native fue útil al momento de desarrollar la lógica del producto, al usar el lenguaje de programación JavaScript el cual es muy común, tiene una amplia

documentación y una comunidad grande para resolución de dudas, facilita el desarrollo backend. El framework no es muy cómodo de usar en la parte de

interfaces o front, es bastante interesante que provea componentes y se base la vista en el uso de ellos, pero a la hora de ponerle estilos, plantear un diseño

responsivo, embellecer la aplicación y organizar los ítems en el espacio no resultó tan fácil y la documentación no es muy comprensible, lo cual fue una limitante

grande.

Expo por su parte facilita la generación de los aplicativos móviles y el despliegue del componente web, la dificultad está en acoplarlo con el desarrollo realizado

en react native, para que los componentes y estilos se puedan renderizar según la necesidad del dispositivo.

El uso de GitHub fue muy beneficioso para el desarrollo del aplicativo en la medida que permitió tener control de versionamiento, integración de cambios y

gestión de trabajo colaborativo.


48

Las herramientas de google resultaron útiles para tener guardado en la nube la gestión documental que se requirió, a su vez permitió el uso interactivo de los

diferentes usuarios implicados, facilitando el proceso de revisión y colaboración.

Las validaciones arrojaron varios puntos de mejora con respecto a la interfaz, en especial en los algoritmos que trabajan con hilos, las gráficas nos son óptimas en

uso y tamaño.

25. Trabajo futuro.

Como trabajo futuro se sugiere:

● Indagar sobre componentes más actualizados para integrarlos en el trabajo.

● Implementar un template o integrar un framework dedicado al front como Bootstrap, que facilite y permita crear interfaces más amigables, mejor

estructuradas, más usables y entendibles para el usuario final. Esto con el fin de mejorar las interfaces del aplicativo.

● Incluir otros algoritmos que se abordan en el área de infraestructura computacional que no se contemplaron inicialmente.

● Mejorar las pruebas funcionales e integrar automatizadas, para mejorar la calidad del producto y tener una mejor gestión de errores.

12. Bibliografía y referencias

● Aguilar Campoverde, F. D. (2016). DISEÑO Y ELABORACIÓN DE UN SOFTWARE QUE PERMITA MEDIR LOS PARÁMETROS DE

MOVIMIENTO DE LOS ALGORITMOS DE PLANIFICACIÓN DE DISCO [Universidad Tecnica de Machala]. In Universidad Tecnica de Machala.

http://repositorio.utmachala.edu.ec/handle/48000/7660

● Albo Castro, M. M., Reyes Perez, Z., Jimenez., R., & Velazquez Ramir, A. (2020). Methodological guide of teaching means for the operating

systems subject. Referencia Pedagógica, 8(2), 321–336. https://rrp.cujae.edu.cu/index.php/rrp/article/view/219/251

● Alpaca, N. B. (2017). La enseñanza asistida por las Tecnologías de la Información y Comunicación : ¿ Qué ? ¿ Cómo ? ¿ Por qué ? The teaching

attended by the Technologies of the Information and Comunication . What ? How ? Why ? Referencia Pedagógica, 5(1), 31–47.

https://rrp.cujae.edu.cu/index.php/rrp/article/view/114/142

● Blancarte, O. (n.d.). Arquitectura en Capas. Retrieved August 10, 2021, from https://reactiveprogramming.io/blog/es/estilos-arquitectonicos/capas

● Cabarcas, M., Rey Garcia, Y., & Martinez Ventura, J. (2018). Aplicación de las TIC en el fortalecimiento del aprendizaje y aplicación de conceptos

fundamentales. Ingeniería, Desarrollo e Innovación, 1(1), 26–23. https://doi.org/10.32012/26195259/11201823

● Camaná Fiallos, R. G., & Torres Carrera, R. A. (2017). Descubrimiento del estilo de aprendizaje dominante de estudiantes de la carrera de

tecnología en análisis de sistemas. Revista Educacion, 8(2), 193. https://doi.org/10.21895/incres.2017.v8n2.04


49

● Cambarieri, M., Difabio, F., & García Martínez, N. (2020). Implementación de una arquitectura de software guiada por el dominio. 1–18.

http://sedici.unlp.edu.ar/handle/10915/115198

● Castillo Díaz, M. A., & Mendoza Aly, J. L. (2016). Estilos de aprendizaje en estudiantes universitarios: recursos informáticos como estrategia para

su evaluación. Revista UNAH INNOV@, 4, 33–39. https://doi.org/10.5377/unahinnov.v0i4.2896

● Conte, A., Paola, C., Tomas, C. R., Mariana, F., Pablo, F., Adriana, G., Maximiliano, G. N., Leticia, R., Juan, T. L., Valeria, V., Facultad, R., La, D.

E. O. D. E., Universidad, P., Plata, D. E. L. A., Paola, C. C., Tomas, C. R., Mariana, F., Pablo, F., Maximiliano, G. N., … La, O. F. (2020). Estilos de

Aprendizaje y su Trasformación a lo Largo de la Trayectoria Académica en la Folp - Unlp . Learning Styles and their Transformation Along the Academic Path

in the Folp- Unlp . 57–58. http://sedici.unlp.edu.ar/handle/10915/110335

● Corpas Crehuet, R. (2014). Arquitectura de software para el ambiente Virtual de Aprendizaje ProteSIM del proyecto UCI-CIMEQ.

https://repositorio.uci.cu/jspui/bitstream/ident/9292/2/TD_07565_14.pdf

● Escalante, J., Mariño, S., & Marchisio, S. (2020). Los estilos de aprendizaje en la construcción de tutores inteligentes. 937–940.

http://sedici.unlp.edu.ar/handle/10915/103904

● Garcia, D., Villareal, J., Cuéllar, O., Echeverri, C., Henao, C., & Botero, M. (2020). Estilos de aprendizaje en docentes universitarios: evaluación de

la relación entre percepción y uso de TIC en entornos educativos. RISTI - Revista Iberica de Sistemas e Tecnologias de Informacao, E29, 406–420.

https://search.proquest.com/docview/2394537883?fromopenview=true,&pq-origsite=gscholar

● González Calixto, M. B., Patarroyo Durán, N. I., & Bodensiek Carreño, C. G. (2017). El Principio De Justicia En El Aula Y La Responsabilidad

Moral Del Docente, Frente a Los Estilos De Aprendizaje. Revista De Investigación, Desarrollo E Innovación, 7(2), 241–253.

https://doi.org/10.19053/20278306.v7.n2.2017.4497

● Heredero, E. S. (2019). Estilos de aprendizagem. Um modelo de escala de observação docente para o estilo de aprendizagem – REApt –. Revista

Ibero-Americana de Estudos Em Educação, 14(4), 2301–2317. https://doi.org/10.21723/riaee.v14i4.12384

● Lazo J. (2018). Concepto de Informática , Sistema Informático , el computador como herramienta fundamental de la informática . Conceptos básicos

y y terminología de un Computador, El Computador y la educación, la Informática y la educación. 91.

http://repositorio.une.edu.pe/bitstream/handle/UNE/3473/MONOGRAFÍA - LAZO SANCHEZ.pdf?sequence=1&isAllowed=y


50

● Leandres Maucaylle, A. (2019). Construcción de un modelo de red virtual para aplicar técnicas de hacking ético y poder analizar los eventos

relacionados a la seguridad informática sobre una infraestructura virtual. Universidad Nacional José Maria Arjuedas, 15–140.

http://repositorio.unajma.edu.pe/handle/123456789/489

● Lucas Mero, J. J. (2017). DESARROLLO E IMPLEMENTACIÓN DE UN SOFTWARE CON REALIDAD AUMENTADA PARA EL APOYO

DE ENSEÑANZA-APRENDIZAJE DE LA ASIGNATURA DE ARQUITECTURA DEL COMPUTADOR EN LA CARRERA DE INGENIERIA EN

SISTEMAS COMPUTACIONALES. http://repositorio.unesum.edu.ec/handle/53000/1194

● Marsiglia Fuentes, R. M., Llamas Chávez, J., & Torregroza Fuentes, E. (2020). Teaching strategies and learning styles an approach to the case of the

degree in education of the university of Cartagena (Colombia). Formacion Universitaria, 13(1), 27–34. https://doi.org/10.4067/S0718-50062020000100027

● Martín Martín, M. (2017). Aportaciones pedagógicas de las TIC a los estilos de aprendizaje / PEDAGOGICAL CONTRIBUTIONS OF ICT TO

LEARNING STYLES. Tendencias Pedagógicas, 30(2017), 91–104. https://doi.org/10.15366/tp2017.30.005

● Maté De Nicolás, P. (2018). “SIMULADOR DE ALGORITMOS DE PLANIFICACIÓN DE SISTEMAS OPERATIVOS” Esta obra se encuentra

sujeta a la licencia Creative Commons Reconocimiento-No Comercial-Sin Obra Derivada.

https://e-archivo.uc3m.es/bitstream/handle/10016/30117/TFG_Paulo_Mate_de-Nicolas_2019.pdf?sequence=1

● Mc Arthur, J. C. (2016). Principios y aplicaciones de los dispositivos de almacenamiento. 105.

https://dspace.uclv.edu.cu/bitstream/handle/123456789/7025/Jared_Christopher_McArthur.pdf?sequence=1&isAllowed=y

● Mero Suarez, K. V., Merchán Carreño, E. J., & Mero Suárez, C. R. (2018). Visualización de software, una alternativa efectiva en la enseñanza de la

programación de computadoras. Ensemble, 20(4), 243. https://doi.org/10.11436/mssj.20.243

● MIT. (n.d.). Poder de procesamiento. Retrieved February 7, 2021, from http://www.mit.edu/afs.new/athena.mit.edu/project/rhel-doc/4/RH-DOCS/

rhel-isa-es-4/s1-bandwidth-processing.html

● Puello Cardona, S., Flórez Hernández, L., Sierra Jaraba, K., & Ruiz Santana, N. (2017). Los Estilos De Aprendizaje Y Su Utilidad En La Educación

Superior. Fundación Universitaria Colombo Internacional - Unicolombo, 8, 31–37.

https://www.academia.edu/41168732/Estilos_de_Aprendizaje_y_su_utilidad_en_la_educación_superior

● Red Hat. (n.d.). ¿Qué es la infraestructura de TI? Retrieved February 7, 2021, from https://www.redhat.com/es/topics/cloud-computing/what-is-it-

infrastructure
51

● Reyes Rivero, L., Cespedes Gomez, G., & Molina Cedeño, J. (2017). Tipos de aprendizaje y tendencia según modelo VAK. Tecnología

Investigación y Academia, 5(2), 237–242. https://revistas.udistrital.edu.co/index.php/tia/article/view/9785/pdf

● Rodríguez, A., & Silva, L. (2016). Arquitectura de software para el sistema de visualización médica Vismedic. Revista Cubana de Informática

Médica, 2016(1), 75–86. http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S1684-18592016000100006

● Rodríguez Carracedo, M. del C., & Vásquez Carro, E. (2013). Fortalecer estilos de aprendizaje para aprender a aprender. 6, 19–37.

http://revistaestilosdeaprendizaje.com/article/view/969

● Sánchez Castillo, P. Y. (2020). Implementación del patrón arquitectónico MVC en aplicaciones web para la arquitectura del software del sistema de

capellanía de la UM. 112–120.

● Soler Pellicer, Y., Cárdenas Zea, M., Aguirre Perez, R., Castro Blanco, Y., & LezcanoBrito, M. G. (2020). VISUALIZACIÓN DINÁMICA, UNA

OPCIÓN PARA LA ENSEÑANZA- APRENDIZAJE DE LA PROGRAMACIÓN DE COMPUTADORAS. 1–20. https://doi.org/10.15628/holos.2020.4241

● Tanenbaum, A. S., & Bos, H. (2016). Modern Operating Systems. In International Journal of Modern Physics C (Vol. 19, Issue 3). PEARSON.

https://doi.org/10.1142/S0129183108012261

● Trefftz Gómez, H., & Cardona Mc’Cormick, J. F. (2015). ENSEÑANZA DE SISTEMAS OPERATIVOS CON UN SIMULADOR DIDÁCTICO

FÁCILMENTE EXTENSIBLE. EIEI. https://acofipapers.org/index.php/eiei/article/view/1060/1061


52

13. Anexos (opcional)

1. 1.Contenido

2. 2.Frameworks y herramientas de desarrollo

3. 3.Proceso de ingenieria

4. 4.Arquitectura de software.docx

5. 5.Pruebas

6. 6.Validación de la herramienta

7. 7.Consentimientos firmados.pdf

8. 8.Resultados validación

9. 9.Valoraciones validación de la herramienta.pdf

También podría gustarte