lunes, 20 de abril de 2015

Lunes 20/04/2015 (Registro de Notas)

Tiempo invertido:  5 horas aproximadamente


13:00-18:00
Para poder realizar el registro de notas de un estudiante, se debe tomar en cuenta que el estudiante puede tener diferente tipo de evaluación, como lo son exámenes, proyectos, tareas, quices, y estos a su vez pueden ser de dos tipos diferentes, los cuales son evaluaciones fijas, las cuales tienen un porcentaje determinado para cada una de las evaluaciones existentes, por otra lado se encuentran las evaluaciones variables, que estas evaluaciones no tiene un porcentaje definido para cada una, sino solo se tiene el porcentaje total de la evaluación. A la hora de realizar el registro de notas de una evaluación fija, se requiere introducir el nombre de la evaluación, y la nota obtenida por el estudiante, esta información a la hora de registrarse y enviarse a la base de datos pasa por diferentes procedimientos que son los encargados de realizar los cálculos específicos para poder así saber que nota acumulada tiene hasta el momento dicho estudiante.

Para la parte de las evaluaciones variables, se deben ingresar la cantidad que sea necesaria de instancias de evaluación para cumplir con el porcentaje total de la evaluación, este procedimiento cambian con respecto al de las evaluaciones fijas, ya que se debe ingresar la descripción, la nota obtenida por el estudiante y la fecha en la que se realizo, al igual que con las evaluaciones fijas, estas evaluación deben pasar un una serie de procedimientos, en los cuales se realizan los cálculos para poder tener la nota acumulada total de un estudiante con todas las notas registradas hasta el momento.





viernes, 17 de abril de 2015

Viernes 17/04/2015 (Aplicación Escritorio)

Tiempo invertido: 5 horas aproximadamente


13:00- 18:00
Luego de realizar el registro de notas, se debe realizar el reporte de notas por email, para poder realizar esta acción se debe hacer uso de la clase email, antes de poder realizar con éxito el envió de correos tuvimos varios problemas a la hora de implementar esta acción, en un principio tuvimos varios problemas con el firewall ya que no nos dejaba enviar correos, para poder resolver este problema implementamos diferentes estructuras para poder enviar correos, pero el problema seguía siendo el mismo. Por lo tanto procedimos a realizar un poco mas de investigaciones para poder llegar a la conclusión de que el problema que nos daba no era del firewall, sino de los permisos y condiciones que impone gmail para poder enviar correos a diferentes plataformas, para poder resolver este problema se tuvo que cambiar las condiciones de envió en gmail para de esta manera poder enviar correos. Luego de solucionar este problema se pudo continuar con el envió de correos de una forma exitosa.

En la parte gráfica tenemos un jDialog en el cual podemos agregar texto extra al cuerpo del correo, en este jDialog se escoge mediante un ComboBox el estudiante al cual se le enviara el correo con su nota acumulada, en el cual se vera el desglose de la nota, este desglose mostrara el valor porcentual de cada evaluación seguido por la nota obtenida por el estudiante.

jueves, 16 de abril de 2015

Jueves 16/04/2015 (Aplicación Escritorio)

Tiempo invertido: 4 horas aproximadamente

18:00-22:00
Una vez que se registran todas las evaluaciones que se pueden realizar a un grupo, se debe hacer el debido registro de las notas correspondiente a cada tipo de evaluación registrado, para poder realizar esto, se debe crear un nuevo JDialog en el cual se podrá escoger, el estudiante y el tipo de evaluación que se le desea registrar una nota. Para poder escoger estos dos datos se hace el uso de dos comboBox en los cuales aparecerán todos los estudiantes miembros del curso, y todos los tipos de evaluaciones registrados en el grupo, una vez que se escogen los datos se debe oprimir el botón registrar, el cual nos redirecciona a otro JDialog, en este nuevo jDialog nos aparecerán las opciones para registrar la nota de la instancia, en el cual se deberá escoger entre las diferentes opciones de las instancias de evaluación que se hayan registrado.

Una observación que se debe tener muy en cuenta es que cuando se registra una nota de un estudiante, esta se debe registrar de una por una para cada tipo de evaluación y sus respectivas instancias, ya que las notas van a variar con respecto a cada tipo que se haya registrado.

Los Diferentes jDialog que se han creado todos tienen una conexión con la base de datos, esto para poder corroborar que la información que se presenta es verdadera y esta guardada en la base de datos, de esta forma todo lo que se realice dentro de esta interfaz quedara guardado en la base de datos.

En la parte de funcionalidad interna se debe hacer el uso de diferentes Procedimientos, uno de ellos el el insertarEvaluacion, el cual se encarga de realizar y verificar que la evaluación se puede insertar a la base de datos, para poder realizar una inserción de una evaluación se necesita tener el grupo en el cual se va a realizar la evaluación, el tipo de evaluación, el porcentaje, tipo de instancia, y la cantidad de instancias, estos datos son muy importantes para poder hacer una inserción correcta, si alguno de todos estos datos no es correcto no se podrá insertar la evaluación.

miércoles, 15 de abril de 2015

Miercoles 15/04/2015 (Manejo de errores)

Tiempo invertido: 4 horas aproximadamente.

13:00-17:00
Una parte primordial y muy importante de este proyecto es la ejecución de un buen manejo de errores, ya que si tenemos un buen manejo de errores nos sera de gran ayuda a la hora de hacer dicho proyecto.

Por lo tanto para cada store procedure y cada función se le implemento un manejo de errores, el manejo de errores que utilizamos, es el manejo de errores que nos explico el profesor Franco Quiros, el cual consiste en realizar un begin catch y al posible error multiplicarlo por -1, y así si de alguna u otra forma el proyecto nos tira un error lo reconoceremos, ya que este error se representara con un numero negativo.

Además de utilizar el manejo de errores con números negativos, también implementamos en gran parte de las funciones y Store procedure el uso de una booleano, el cual nos informara si la función o el procedimiento en sus respectivos usos funciono de la mejor forma. Y como nos damos cuenta si esta funcionando de la mejor forma, para eso es el booleano, si la función o procedimiento retornan un 1, esto significa que se realizo de la forma correcta. Caso contrario sucede si el numero retornado es un 0, esto nos avisa que existe un error en el procedimiento o función que debe ser arreglado. 

Martes 14/04/2015 (Página web)

Tiempo invertido: 8 horas aproximadamente

12:00-15:00
Dentro de la página web se pueden encontrar varias vistas en las cuales cada una pertenece a una tabla distinta cada uno, se encuentra una para el periodo, otra vista para el profesor, otra para los estudiantes, otra para los cursos, y por ultimo una para miembros. En cada una de estas diferentes vistas se pueden realizar diferentes acciones, como lo son ingresar nuevos datos, editarlos, eliminarlos, ademas se pueden visualizar todos los datos que se encuentran guardados en la base de datos. Cada vista tiene su propio controlador y sus propios funciones para validar que la información ingresada este correcta y no coincida con ninguna información de la base de datos.

Estas son las diferentes opciones:

  • Periodo: la parte del Periodo tiene varias opciones para trabajar, en esta vista se pueden ingresar nuevos periodos, con el formato aaaa-mm-dd (año-mes-dia), lo que se ingresa es la fecha de inicio y la fecha fin de cada periodo, una vez que esta información es ingresada se valida por medio de una función la cual verifica que la fecha de inicio no sea mayor a la fecha de fin. También se encuentra la opción de volver un Periodo activo a un periodo anulado.
  • Profesores: en la parte de los profesores, se pueden ver los profesores que ya están en la base de datos y todos los datos de cada uno de ellos, esta la opción de registrar nuevos profesores, para realizar esto se debe ingresar los datos correspondientes en cada casilla, como lo es el usuario que debe ser único y no puede coincidir con alguno ya registrado, ademas de su clave y su nombre completo. Esta vista también tiene la opción de modificar un profesor ya existente, ademas de modificar e ingresar profesores se pueden también eliminar, solo que para poder hacer la eliminación de un profesor  este profesor no puede estar ligado o asociado a un grupo, si el profesor tiene un grupo es imposible eliminarlo.
  • Estudiantes: en la parte de los estudiantes, se pueden ver los estudiantes que ya están en la base de datos y todos los datos de cada uno de ellos, esta la opción de registrar nuevos estudiantes, para realizar esto se debe ingresar los datos correspondientes en cada casilla, como lo es el carne que debe ser único y no puede coincidir con alguno ya registrado, ademas su nombre completo de y su correo electrónico. Esta vista también tiene la opción de modificar un estudiante ya existente, ademas de modificar e ingresar estudiantes se pueden también eliminar, para hacer esto nada mas se presiona en el botón eliminar que se encuentra en la misma fila del estudiante a eliminar.
19:00-23:00
  • Cursos: en la parte de los cursos, se pueden ver los cursos que ya están en la base de datos y todos los datos de cada uno de ellos, esta la opción de registrar nuevos cursos, para realizar esto se debe ingresar los datos correspondientes en cada casilla, como lo es el código que debe ser único y no puede coincidir con alguno ya registrado, ademas del nombre del curso. Esta vista también tiene la opción de editar un curso ya existente, ademas de editar e ingresar cursos se pueden también eliminar, para hacer esto nada mas se presiona en el botón eliminar que se encuentra en la misma fila del curso a eliminar.
  • Grupo: en la parte de los grupos, se pueden ver los grupos que ya están en la base de datos y todos los datos de cada uno de ellos, esta la opción de registrar nuevos grupos, para poder realizar la inserción se hace el uso de combo box para elegir el periodo, el profesor y el curso, en estos combo box se encontraran las distintas opciones para escoger. Una vez terminado esto se deberá llenar los datos restantes que son el código del grupo y la cantidad de estudiantes. Esta vista también tiene la opción de editar un grupo ya existente.
  • Miembro: en la parte de los miembros, se pueden ver los miembros que ya están en la base de datos y todos los datos de cada uno de ellos, también tiene la opción de registrar nuevos miembros, para poder realizar la inserción se hace el uso de combo box para elegir el el grupo y el estudiante, en estos combo box se encontraran las distintas opciones para escoger. Esta vista también tiene la opción de hacer un retiro de un miembro ya sea de forma justifica o de forma injustificada.

lunes, 13 de abril de 2015

Lunes 13/04/2015 (Aplicación de Escritorio)

Tiempo invertido: 5 horas aproximadamente.

8:00-10:30
Luego de diseñar el jFrame principal el cual es el login a la aplicación, pasamos a diseñar la siguiente ventana la cual sera un jDialog, la diferencia entre un jFrame y un jDialog es que el jFrame se puede considerar como el padre, y el jDialog es un hijo de dicho jFrame.
El diseño de este jDialog es muy simple a simple vista, ya que lo que contiene es una panel donde se mostraran las diferentes evaluaciones que el grupo insertado tiene (si es que ya en la base de datos existe alguna), de otra forma permanecerá vacía hasta que se inserte un evaluación. Ademas de este panel, tiene tres botones, uno es el encargado para agregar una evaluación nueva, su función es redireccionar a una nueva ventana donde se podrá insertar una nueva evaluación, el segundo boton es el modificar evaluacion, este boton lo que realizar es modificar la evaluacion que se escoja, y el otro botón es para terminar con el registro de evaluaciones.


12:00-14:30
Para poder agregar una evaluación nueva se debe oprimir el botón llamado Agregar Evaluación, este botón lo que hace es enviarnos a una nueva ventana en la cual nos saldrán las opciones de evaluaciones, el porcentaje y el tipo de instancia. Una vez agregada la evaluación, dicha evaluación aparecerá en el panel de la ventana con los datos ingresados.

Interna mente este jDialog tiene una serie de validaciones, las cuales hacen que el profesor no pueda terminar de realizar el registro de evaluaciones hasta haber completado con la distribución del 100% en las diferentes opciones de evaluaciones existentes. Esta validación se realiza a la hora de oprimir el botón llamada Finalizar diseño, este se encargar de verificar que todas las evaluaciones agregadas al sumar el porcentaje de cada una sea un total de 100%, sino este no lo cumple mostrara un mensaje pidiéndole al profesor que el porcentaje total debe ser de 100%.

Para poder realizar todo las esta validaciones y comprobar que todo se realice de forma exitosa se deben utilizar una serie de procedimientos creados en SQL SERVER en los cuales se pueden realizar diferentes acciones para el diseño de las evaluaciones. Algunos de los diferentes procedimientos utilizados son InsertaEvaluacion, la cual realiza la inserción de una nueva evaluación a un grupo especifico, esto gracias a que por la conexión que se tiene con la base se obtiene el ID del grupo y de esta manera se pueden insertar evaluaciones a dicho grupo. Otro de los procedimientos es muy parecido al anterior, solo que este en vez de insertar evaluaciones lo que inserta con instancias de las diferentes evaluaciones que ya se encuentran registradas en el grupo, este tipo de instancias pueden ser ya sea fijas o variables, cada una de estas opciones tiene sus diferentes atributos. Para poder agregar todas las distintas evaluaciones y sus instancias a todos los miembros del grupo, se necesita de la ayuda de otro procedimiento, el cual se encarga de tomar estas evaluaciones y sus respectivas instancias y darles un valor de cero para que después a la hora de ir registrando las notas de cada estudiante no se tenga ningún conflicto con la nota acumulada de cada uno de ellos.


viernes, 10 de abril de 2015

Viernes 10/04/2015 (Página Web)

Tiempo invertido: 5 horas aproximadamente.

13:00-18:00
Luego de poder resolver con éxito el problema de la complementación de varias vistas para la página web, procedimos a con el diseño de la vista principal de de la pagina, en esta vista lo que se podrá apreciar es el login para poder acceder a las diferentes opciones de trabajo que se encuentran en la pagina web, este login contendrá un espacio para poder ingresar el nombre de usuario y la contraseña, estos datos ingresados se verificaran en la base de datos por medio de una conexión entre la pagina web y la base de datos. Si los datos ingresado se encuentran en la base de datos, se le permitirá al profesor ingresar a la pagina web, donde podrá tener varias opciones de lo que es mantenimiento de las diferentes tablas, como lo son Periodo, Estudiantes, Profesores, Cursos, Miembros.

Luego de que se verifica que el profesor si existe y accede a la pagina web, aparecerá otra vista o pantalla en la cual se le dará la bienvenida al profesor, en esta vista se podrán apreciar todas las opciones que el profesor tiene dentro de esta pagina web, dichas opciones se podrán apreciar en la parte superior de la pantalla ordenados en una fila de derecha a izquierda. al presionar encima de cada una de estas opciones, aparecerá una nieva vista en la cual podrán realizar diferentes cambios en el contenido de cada tabla.