domingo, 2 de octubre de 2016

Análisis y diseño de sistemas

Caso de estudio "Sistema para automatizar asistencia a clase"

En este post voy a hablar sobre el análisis y diseño de un sistema para automatizar la asistencia a clase.
Cuando asistimos a clases el profesor o profesora toma una hoja en blanco, en donde coloca títulos de los datos que debe llenar el estudiante en esa hoja que por lo general es el nombre, apellido, cédula y firma. Esto se va pasando de estudiante en estudiante que van firmando esa lista para que el profesor pueda ir generando un control de asistencias. A primera vista vemos este proceso sencillo, pero que pasa si queremos generar un sistema que haga esto y ahorre las hojas usadas para esto, y que garantice que los estudiantes que firmaron sean los pertenecientes a esa clase, o que haya firmado todos los presentes y no que alguien firme por otro.

A primera vista pareciera que al tomar la asistencia solo se debe guardar la información de los estudiantes y ya, pero no es así, debemos ir mas allá, debemos saber cuales estudiantes, si el estudiante pertenece a la universidad, si pertenece a la facultad, si esta inscrito en la materia, si está activo como estudiante y si esta activo en el período actual (semestre), además de saber si la clase a la que entra tiene un profesor asignado. 

El ser estudiante es una condición (voy a llamarlo así) que comienza desde el día en que nos inscribimos (Inscripción en Secretaría, luego en la facultad y escuela) y luego cuando inscribimos el semestre y las materias disponibles. Al culminar estas inscripciones como estudiantes, estamos habilitados (Activos) en el semestre y materias que inscribimos, y sabemos que aulas, horarios y profesores nos fueron asignados. Hasta este momento tenemos entonces ya una cierta cantidad de información que nos identifica:
  • Somos estudiantes activos de la UCV
  • Somos estudiantes activos de la facultad de Ciencias
  • Somos estudiantes activos de la escuela de Computación (en este caso)
  • Estamos activos para el semestre (en este caso 1-2016)
  • Y tenemos materias inscritas, aulas y profesores asignados.
Ahora, ¿que tiene que ver esto con el sistema a desarrollar? Tiene mucho que ver ya que si no somos estudiantes de la UCV, o somos de otra facultad o escuela, o no estamos inscritos en el semestre en el que se está dando la materia, o no estamos activos (Suspendido, Materia Retirada, Egresado) no deberíamos aparecer en el Sistema a desarrollar como un estudiante al cual se le deba tomar asistencia.

Este sistema es una herramienta para uso del profesor, ya que es el encargado de pasar la asistencia, pudiese ser también de acceso al estudiante, pero que este no tenga posibilidad alguna de crear, editar o borrar información del sistema, que en dado caso solo pueda ver sus asistencias.

Hemos hablado del profesor en este sistema ¿cual profesor? Al igual manera que el estudiante, el profesor, debe ser un profesor activo de la universidad, de la facultad y de la escuela y debe estar asignado a dictar una cátedra (materia) en un periodo (semestre) y en un horario y aula especifico.

En resumen, para efectos de automatizar la asistencia para la materia Introducción a la Informática, debe suceder que el Estudiante sea un estudiante (valga la redundancia) de la UCV, de la Facultad de Ciencias, de la Escuela de Computación, estar activo y estar inscrito en el semestre en que se está dictando la materia, y por supuesto estar inscrito en la materia, sin estas condiciones el estudiante no debería de aparecer en el listado de asistencia.

Igualmente como se ha mencionado el profesor debe ser de la UCV, de la Facultad de Ciencias, de la Escuela de Computación, estar activo, estar asignado al semestre y materia, de esta forma el profesor podrá ver en el sistema a que estudiantes les va a pasar la lista.

Si el estudiante tiene un estatus distinto al activo (Retirado, Suspendido, Egresado) no debería aparecer en el listado que el profesor verá, también si retiró la materia tampoco debería aparecer.

Estudiando todos estos escenarios nos lleva a describir no solamente el objeto Estudiante, sino también el objeto Profesor, Materia, Horario, Semestre, Escuela, Carrera, Facultad, Universidad. A lo largo del desarrollo lo mas probable es que sigamos descubriendo mas objetos que se relacionen con los ya mencionados.

PD : Mi nombre no es Javier, sino Jhonny.

No hay comentarios:

Publicar un comentario