Director: Anselmo Peñas (Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.)

 

Objetivo: El objetivo es desarrollar un entorno para que niños y niñas de educación primaria hagan sus primeros programas. El entorno será una especie de simulador que permitir programar el comportamiento de un pequeño robot que se mueve por un escenario e interactúa con él. El escenario será una imagen que se podrá cargar desde archivo. Las coordenadas (0,0) estarán en el centro de la imagen. El robot también será una imagen que podrá cargarse desde fichero. Se comportará como si tuviera un sensor que detecta los colores del escenario en la posición en la que se encuentra.

 

Descripción: El interfaz del entorno tendrá tres paneles:

  1. Panel de programación del robot, dividido en escritorio y paleta de comandos.
  2. Panel de control.
  3. Escenario.

De la paleta de comandos se podrán arrastrar comandos (representados mediante imágenes) al escritorio. Existen 3 tipos de comandos:

  1. Control de flujo:
    1. Start: comienzo de programa.
    2. Repeat: bucle estilo “repeat S until C”.
    3. Wait: espera que se produzca una condición (que uno de los sensores tome el valor esperado).
  2. Sensores:
    1. Color: comprueba si en la posición del escenario donde se encuentra un robot aparece un determinado color.
    2. Key: comprueba si se ha pulsado una determinada tecla.
  3. Actuadores:
    1. SetPosition: determina coordenadas X e Y donde posicionar el robot. Por defecto (0,0)
    2. SetSpeed: determina la velocidad de desplazamiento del robot (1‐10). Por defecto 5.
    3. Move: desplaza el robot un paso en la dirección de movimiento indicada (up, down, left, right).

Los programas son secuencias de imágenes (de comando) pegadas entre sí. En el escritorio puede haber varios programas que estén corriendo a la vez. La siguiente imagen es un ejemplo de programa:

En el panel de control existirán los siguientes elementos:

  1. Botón Start: al pulsarse se pondrán en marcha todos los programas del escritorio.
  2. Botón Stop: al pulsarse se pararán todos los programas que había en marcha.
  3. Última tecla: contendrá la información de la última tecla que haya sido pulsada.
  4. Color: contendrá el color presente en la posición actual del robot.

Los estudiantes podrán realizar todas aquellas extensiones que estimen pertinentes. En los siguientes enlaces se pueden ver algunos ejemplos de sistemas existentes similares al que se debe construir:

 

Metodología: La elaboración del proyecto incluirá los siguientes pasos:

  1. Planificación

    El estudiante deberá realizar un plan con un calendario realista y especificará claramente lo que tiene que hacer, concretando los aspectos que quedan abiertos en este documento de descripción. Este anteproyecto será revisado y aprobado por su director.

    El anteproyecto incorporará la primera versión del documento/apartado de la memoria correspondiente a la Especificación de Requisitos, Interfaces y Diseño del Software (ERID), conteniendo la definición del problema, el esquema modular del sistema, una justificación de la selección de tecnologías, y una breve descripción del interfaz de usuario a desarrollar. Esta versión del ERID constará de al menos 5 páginas.

  2. Desarrollo

    A continuación, el estudiante deberá desarrollar el proyecto siguiendo todas las fases del ciclo de desarrollo de software, e implementar un prototipo de la solución aportada.

    Deberá revisar y actualizar el documento/apartado ERID, que contendrá una arquitectura de la solución y un diseño técnico, donde se especifique la estructuración en módulos o paquetes, la descripción técnica de cada módulo del sistema, la descripción de los interfaces entre los módulos y con módulos externos, las estructuras de datos fundamentales y los desarrollos algorítmicos no triviales.

    Se debe presentar un plan de pruebas y factores que permitan definir y valorar la calidad de la solución aportada. Una vez comprobado que el sistema implementado cumple los requisitos se debe elaborar el documento/apartado de pruebas y evaluación (PE), estudiando la escalabilidad del producto así como la modularidad y extensibilidad del sistema a otros problemas similares.

    Asimismo, deberá realizar el manual de usuario (MU) conteniendo alguna pantalla impresa de pruebas realizadas y el manual de instalación (MI).

  3. Memoria

    La versión final de la memoria se realizará teniendo en cuenta los documentos indicados en el Paso Segundo.

  4. Presentación y defensa pública del proyecto realizado

    La valoración del proyecto dependerá fundamentalmente de cómo se ha realizado y documentado todo el proceso del desarrollo del proyecto y no sólo del producto software final.

     

Requisitos previos: experiencia en programación de interfaces gráficos.