miércoles, 12 de junio de 2019

Calculadora de subnetting DIDÁCTICA

Bienvenid@:

Antes de comenzar, me gustaría hacer un par de incisos:
  1. Dar las gracias a mi compañero Joaquín Losilla Izquierdo por darme la idea para desarrollar esta aplicación.

  2. Pedirte que si detectas algún fallo/error en la aplicación me lo hagas saber para su actualización/corrección. Para ello puedes enviarme un mail a javi.profesor.informatica@gmail.com o bien a través de Telegram contactando con el alias @javi_profesor. Gracias de antemano.
Comencemos...

La finalidad de esta aplicación es que el alumnado de los ciclos de FP de Informática aprenda a manejar los tres algoritmos usados para crear subredes en el ámbito del protocolo IPv4 (subneteo por número de subredes, por número de equipos y por VLSM).

La aplicación es (o pretende ser) muy simple, constando solamente de dos ventanas: la de trabajo y la de ayuda. A continuación una muestra de ambas:


En la imagen aparecen la ventana de trabajo a la izquierda (donde se ha cargado el resultado de la ejecución del algoritmo de subneteo para obtener al menos 6 subredes para la IP y máscara 150.10.0.0/16) y la ventana de ayuda a la derecha (donde aparece la forma en que el algoritmo ha obtenido el valor de la IP de subred de la subred número 1).

(Última actualización: 07/07/2019)

IMPORTANTE: Para desbloquear el modo RESOLUTOR debes pinchar en el texto de las etiquetas Dirección IPv4, Máscara y Parámetros, en ese orden.

(JAR ejecutable, así que necesitarás una máquina con el intérprete de Java 8 instalado).

A continuación, se muestra un breve manual para aprender a manejar rápidamente todas las facetas de la aplicación:



Ahora, si sigues teniendo dudas sobre su manejo, puedes ver el siguiente vídeo de Youtube para aclarar más las cosas:



Finalmente, te indico los cambios (y dónde hacerlos en el código fuente) que podrían servirte para adaptar la aplicación a tus necesidades:
  1. Cuando se carga una IP de forma aleatoria, también se cargan unos parámetros aleatorios cuyo valor se carga desde el método CargarParametrosAleatorios() de la clase WPrincipallController. Puede interesarte que los datos que se carguen para el algoritmo VLSM sean otros, así que simplemente debes cambiar el contenido de los arrays parametrosVLSMClaseA, parametrosVLSMClaseB y/o parametrosVLSMClaseC, en función de la clase a la que pertenezca la IP para la que quieras que pueda aparecer dicha parametrización.

  2. Cuando seleccionamos un nuevo algoritmo de subnetting en la CONFIGURACIÓN, también se cargan unos datos por defecto en cada caso (IP, máscara y parámetros). Lo hago así porque son exactamente los mismos ejemplos que veo en clase con mis alumnos cuando abordamos los distintos algoritmos de subnetting. Si quieres cambiar dichas configuraciones para un algoritmo en concreto, debes ir de nuevo a la clase WPrincipalController. Además, te indico qué método es el usado en cada caso en función del tipo de algoritmo elegido:

    • Por número mínimo de subredes: Método rbRedesMinimasSeleccionado()

    • Por número mínimo de equipos: Método rbEquiposMinimosSeleccionado()

    • Por VLSM: Método rbVLSMSeleccionado()

  3. El texto de la ayuda está en formato HTML, pero no se han usado plantillas para su parametrización por lo que, al estar embebido en la aplicación, su modificación puede resultar confusa/farragosa. Al menos, aquí te indico dónde ir en función del texto de ayuda que quieras modificar (algo es algo):

    • Ayuda de los iconos tipo ? de la ventana principal: Se carga desde los métodos DatosDeLaRedAyuda(), DatosDeLaConfiguracionAyuda(), DatosDeModosDeUsoAyuda() y DatosDeLaTablaAyuda() de la clase WPrincipalController.

    • Ayuda con los pasos del algoritmo que se esté ejecutando: En este caso debemos acudir al método getAyudaSegunModoSubnetting() de la clase CursorTabla.

    • Ayuda para cada uno de los datos de una subred: Esta vez debemos acudir a la clase Subred y a sus métodos getAyudaNumEquipos(), getAyudaMascara(), getAyudaIpDeSubred(), getAyudaIpDeBroadcast(), getAyudaIpDesde() y getAyudaIpHasta(),

  4. Cuando un alumno/a acaba un reto del modo CHALLENGE, aparece un texto que le indica su nivel de éxito. Puede que dicho mensaje sea demasiado desenfadado y lo quieras cambiar. Pues bien, para ello debes ir al método MostrarMensajeSegunPorcentaje() de la clase WPrincipalController. 

  5. Necesitarás el código fuente: Pincha AQUÍ para descargarlo (actualizado a fecha 07/07/2019). La aplicación es un proyecto que se ha desarrollado en Netbeans 8.2 en combinación con Scene Builder para el desarrollo de la interfaz gráfica de la ventana de trabajo (la de ayuda se genera al vuelo en tiempo de ejecución). Necesitarás el JDK de Java 8, como mínimo.
Por último, seguro que verás algún "disparate" en el código fuente así que apelo a tu comprensión ya que mis conocimientos y tiempo son limitados. Ya sabes: "Hacemos lo que podemos con lo que tenemos".

Gracias por tu tiempo y atención.

Evolución histórica de versiones de la aplicación:
  1. 12/06/2019: Versión inicial.
  2. 07/07/2019: Mejora con los siguientes añadidos:
    • Se amplía a 16 el número de subredes que se visualizan en la ventana de trabajo.
    • Se permite el uso de los cursores (flechas) para moverse por la ayuda, no teniendo que pinchar obligatoriamente en un botón de la botonera para cada desplazamiento.
    • Se adapta la interfaz gráfica de la aplicación para una visualización adecuada en función de la resolución de pantalla que se esté usando (desde 800x600 hasta 1920x1080).
  3. 21/09/2020: Actualización del enlace de descarga del fichero ejecutable (.jar) que estaba corrupto. Gracias a Sebastián Aldavero por avisar del fallo.
PD: A modo de recuerdo nostálgico para mi yo del futuro, dejo aquí lo que fue el boceto de la interfaz antes de tenerla programada...


No hay comentarios:

Publicar un comentario