Sistema de exámenes y Evaluación en Php y MySql- Planificación de la aplicación

Hace un tiempo publicaba una breve introducción sobre el tutorial que hoy mismo vamos a continuar sobre un sistema de exámenes y evaluación con Php y MySQL.

En los anteriores tutoriales sobre PHP que he ido publicando en el COLORATE, explicaba cómo montar un servidor web en tu ordenador con Apache, MySQL y PHP pero esta vez quiero ir más al grano y para aquellos que no sepan como hacerlo, tan sólo tienen que seguir el enlace.

Planificación de la aplicación Sistema de exámenes en Php y MySql

Planificación aplicación exámenes en Php y MSQL

Siempre intento convencer a la gente que está empezando o incluso a los que ya tienen experiencia y no lo hacen, que antes de empezar con el código, hay que tener paciencia y empezar con papel y lápiz e intentar resumir de Mayor a Menor los diferentes aspectos del proyecto. ¿Qué quiere decir de Mayor a Menor?, pues es bien sencillo, piensa de un modo genérico al principio para después llegar al más mínimo detalle, te aseguro que saldrán mejor las cosas.

Ideas Generales del Proyecto

Lo que tenemos claro a la hora de crear un sistema de exámenes y evaluación es que van a interactuar dos tipos de perfiles: Profesores y Alumnos. Por lo tanto, esto para mí, es lo más genérico que hay para una primera toma de contacto de lo que queremos hacer. Así pues, investiguemos un poco como actuaría en nuestra futura aplicación cada uno de estos perfiles, ya que nos ayudará muchísimo a desglosar las tablas que nos hacen falta.

Profesor

El profesor tendrá dos funciones que podríamos definir a grandes rasgos: publicar un examen y corregir un examen.

Para hacernos una mejor idea, es bueno ponernos en el caso real de un profesor que accede a nuestra aplicación y quiere publicar un examen. En el proceso simulado que creamos en nuestra mente, nos vamos apuntando cada uno de los pasos que en principio creemos que tendría que seguir en nuestra futura aplicación:

  1. El profesor se identifica mediante un formulario de login.
  2. Si el loguin es correcto, accede a su panel de control para poder crear un examen de una asignatura concreta
  3. Validamos los datos introducidos en los campos del examen (si creemos necesario).
  4. Damos de alta el examen.
  5. Añadimos las preguntas al examen

Alumno

El alumno básicamente tendrá también dos funciones a grandes rasgos: presentarse a un examen y ver resultados del examen.

Como he mencionado en la parte de Profesor, vamos a ponernos en el caso real de un alumno que accede a la aplicación:

  1. El alumno se identifica mediante un formulario de login.
  2. Si el loguin es correcto, accede a su panel de control para poder presentarse a un examen de una asignatura concreta o ver sus resultados
  3. Si va a presentarse a algún examen, tendrá que rellenar las respuestas para que luego el profesor las evalúe.
  4. Asignamos el examen y sus respuestas a dicho alumno.

Por tanto, de esta simulación de proceso en nuestra mente y apuntándolo en papel, podemos sacar una primera idea de las tablas MySQL que nos harían falta (subrayadas).

Datos del Perfil: Estos datos los podríamos informar en una tabla llamada usuarios.

Exámenes: En la tabla exámenes tendremos todos los exámenes de todas las asignaturas bien diferenciadas. Solo tendrán acceso a esta tabla los profesores.

Preguntas: Cada examen lleva asociada unas preguntas. Algunos pensarán en no crear esta tabla y poner las preguntas en Exámenes, pero lo cierto es que de esta manera podremos utilizar preguntas en exámenes posteriores, recuperaciones o incluso exámenes de otras asignaturas.

Respuestas: Cada pregunta lleva asociada unas respuestas.

Asignaturas: Aquí informaremos las diferentes asignaturas en las que se podrán dar de alta los exámenes. Es decir, estará asociada con exámenes.

Ya vemos que haciéndonos una idea de cómo interactuaríamos en la futura aplicación, podemos sacar bastantes datos de lo que será nuestra tabla MySQL final.

En el próximo capítulo daremos de alta la base de datos con sus tablas correspondientes.

Para cualquier consulta, duda, corrección, o aportación, ya sabéis que tenemos disponibles los distintos canales sociales como:

 

Espero vuestros comentarios tanto aquí como en los distintos canales.