jueves, 9 de abril de 2015

Jueves 09/04/2015 (Store Procedure)

Tiempo invertido 5 horas aproximadamente.

11:00-16:00

Para poder insertar ya sea Estudiantes, Profesores, Grupos, Cursos, Periodos, Instancias, Miembros, se necesitan una serie de procedimientos, los cuales son los encargados de realizar dicha inserción.
Se explicaran muy breve mente la funcionalidad de estos procedimientos.
  • InsertarCurso: este procedimiento recibe como parámetro un código de tipo varchar y un nombre del mismo tipo, luego de verificar que el código no exista, se inserta a una tabla llamada Curso.
  • InsertarEstudiante: este procedimiento es muy similar al anterior, la única diferencia es que recibe tres paramentos, de los cuales el mas importante es el carne, ya que este parámetro debe ser único para cada estudiante que se inserte, antes de que el procedimiento realice la inserción de un nuevo estudiante verifica que el carne no se encuentre en la base de datos, de lo contrario no se puede realizar a inserción.
  • InsertarProfesor: este procedimiento es muy similar al anterior, la única diferencia es que recibe tres paramentos, de los cuales el mas importante es el usuario ya que este parámetro es único para cada profesor, antes de realizar una inserción a la base de datos, se verifica que el usuario no coincida o sea igual a uno que ya se encuentre registrado en la base.
Estos procedimientos de insertar, son muy parecidos, ya que lo que realiza es una comparación de los parámetros que se quieren insertar con los datos que se encuentran en la base de datos, si tienen alguna coincidencia o son iguales, la inserción no se va realizar, si no existe ningún problema de coincidencias la inserción se realiza con éxito.

El caso contrario a las inserciones, son los procedimientos de eliminar ya sea curso, Profesor, Estudiante, Periodo... etc, para poder realizar estos procedimientos no importa cual de todos los procedimientos sea, ya sea que se quiere eliminar un Estudiante, lo que se debe verificar es que este este estudiante exista en la base, si existe se puede borrar de lo contrario no se realizar el procedimiento.

Para el caso de querer eliminar un profesor, este debe existir y ademas no debe estar asociado con ningún grupo, ya que si se encuentra asociado con un grupo no se podrá eliminar.


miércoles, 8 de abril de 2015

Miercoles 08/04/2015 (Store Procedure y Funciones)

Tiempo invertido: 6 horas y media aproximadamente.

14:00-17:30
Para poder agregar diferentes evaluaciones a la base de datos, es necesario la creación de una procedimiento por medio del cual obteniendo todos los parámetros que este requiere se pueda realizar de forma exitosa la inserción.
Para poder realizar este procedimiento se necesitaran diferentes parámetros los cuales son: 

  • Grupo: este parámetro lo que tiene es el código del grupo en el cual se va a insertar la evaluación este parámetro lo que recibe es un varchar.
  • TipoEvaluacion: esta parámetro lo que recibe es el tipo de evaluación que se puede realizar las cuales pueden ser: Tareas, Exámenes, Quices, Proyectos y Asistencia.
  • Porcentajes: este parámetro recibe el porcentaje total de la evaluación que se va agregar, este parámetro inicialmente es de tipo varchar, pero en el interior de la función se convierte y pasa hacer un parámetro de tipo float.
  • CantidadInstancias: este parámetro va depender del tipo de instancia que sea, ya que si la instancia es fija la cantidad va ser 0, pero si la instancia es variable la cantidad va ser como su nombre lo dice variable. Este parámetro es de tipo Integer.
  • TipoInstancias: este parámetro nos da a conocer que tipo de instancia es la evaluación, si es fija o si es variable. Este parámetro es de tipo varchar.

Luego que se obtienen todos los parámetros se hace una validación para que estos parámetros sean correctos, lo que se prueba es que el porcentaje no sea menor que 0 ni mayor que 100, y que la cantidad de instancias sean mayores o iguales a 0.
Luego de realizar esta validación correctamente se puede insertar la evaluación en una tabla determinada para las evaluaciones de cada grupo.

20:00-23:00
Para poder saber que tipo de evaluación se esta creando y se esta insertando a la base de datos se creo una función en la cual se averigua cual es el tipo de instancia, como podemos recordar hay dos tipos de instancia las Fijas y las Variables, con estas dos palabras trabaja este procedimiento. Ya que lo que se recibe en el parámetro es un nombre, este nombre puede ser Fija o Variable, lo que se hace es verificar que si el nombre es igual a Fija se agrega un 1 en la base de datos en la columna que identifica el tipo de instancia y si es una variable se agrega un 0.

martes, 7 de abril de 2015

Martes 07/04/2015 (Aplicación de Escritorio)

Tiempo invertido: 5 horas aproximadamente.

10:00-12:00
Luego de crear con éxito la conexión entre la base de datos con la aplicación escritorio, empezamos a realizar la primera vista de la aplicación de escritorio, la cual consiste en un JFrame que contiene el login para que el profesor pueda acceder a la aplicación.
Este Frame contiene dos entradas de texto, una para el nombre de usuario del profesor, y la otra es para ingresar la clave del profesor, también contiene un botón para poder acceder los datos, ademas de esto contiene un combo box con los grupos del profesor, y un botón para poder ingresar a la aplicación.

16:00-19:00
Luego de crear el JFrame de login, se necesita crear diferentes funciones para poder obtener todos los datos ingresados en los espacios correspondientes, tales como el usuario y la clave del profesor, ya que estos datos los debemos comparar con los datos que están en la base de datos para así poder permitir que un profesor registrado pueda hacer uso de la aplicación.
Esta comparación se puede lograr haciendo una función que se relación una función de la base de datos que tenga como parámetros de entrada los datos administrados por el usuario de la aplicación.
En esta función se debe hacer uso de la clase conexión para que de esta forma se puedan enviar los datos a la función de la base de datos y poder validar que el usuario y clave si existan en la base.

Después de que se realiza la verificación de que el usuario existe se van habilitar el combo box, dentro de este combo box se van a encontrar almacenados todos los grupos que estén vinculados con el profesor y el botón de Diseñar Evaluación que nos permite poder ingresar a la aplicación con un grupo asignado y diseñar distintos tipos de evaluaciones. Tambien se podra ingresar a las opciones de Registrar Notas y Enviar reportes, los cuales tienen un boton asignado cada uno.

El botón registrar notas nos re direcciona  a un nuevo JDialog, donde se podrá realizar la acción del registro de notas para cada estudiante. Mientras tanto el botón de enviar reportes nos redirecciona a un nuevo JDialog en el cual podremos escribir un mensaje para algún estudiante y posteriormente realizar el envío del correo con la nota.


lunes, 6 de abril de 2015

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

Tiempo invertido: 5 horas aproximadamente.

10:00-13:00
Luego de la investigación y practica del patrón de diseño singleton, decidimos realizar la conexión de la base de datos con la aplicación de escritorio por medio de este diseño, para poder realizar esto de la mejor forma, nos dispusimos a investigar acerca de como poder realizar una conexión eficiente de una base de batos de MS SQL SERVER 2012 con Netbeans, para poder encontrar la mejor forma de realizarlo observamos varios videos de tutorias de como realizarlo, al igual buscamos ejemplos de códigos para así poder entender de una forma mas clara y concisa como se debe realizar de la mejor manera la conexión.

17:00-19:00
Luego de tener una idea mucho mas clara de como realizar una conexión eficiente entre la base y la aplicación de escritorio, y poniendo en practica lo que se investigo acerca del patrón de diseño del singleton, procedimos a la creación de una clase llamada conexión en la cual el objeto creado en ella va ser una instancia única y así poner en practica el patrón singleton, lo cual nos ayudara a tener un mejor orden a la hora de realizar la conexión con la base, como en todo proceso tuvimos varias complicaciones con la creación de la conexión, como por ejemplo que no se dieron los datos requeridos, no se realizaba el acceso a la base, los cuales fueron resueltos de formar correcta, después de solucionar dichos problemas ejecutamos nuevamente la conexión y esta vez se realizo de una forma exitosa.


viernes, 3 de abril de 2015

Viernes 03/04/2015 (Aplicación de Escritorio)

Tiempo invertido: 5 horas aproximadamente


12:00-15:00
Se investigo a fondo un patrón de diseño llamado patrón singleton, (instancia única) esta diseñado para restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto. se observaron varios videos de tutoriales en youtube, se estudiaron varios códigos de ejemplos de clases con este patrón implementado, luego de entender mejor de que se trata el patrón de diseño singleton se realizaron varias pruebas para poder saber si nos era útil aplicar este diseño al proyecto.

20:00-22:00
Luego de probar con diferentes practicas el diseño singleton, decidimos que este patrón seria una buena opción para poder realizar la clase conexión en la aplicación de escritorio, ya que esta clase al ser una instancia unica, nunca va cambiar su forma de ser, por lo tanto decidimos que esta clase debe ser construida con el patrón de diseño singleton.

Se debe realizar el envió de la nota acumulada que tiene cada estudiante del grupo, para poder realizar esto se procedió a investigar cuales librerías que contiene Netbeans nos ayudaría a realizar de la mejor manera este proceso, al final de investigar decidimos que la biblioteca que se utilizaría es la java mail, ya que nos pareció que es la mas eficaz para realizar este proceso, para poder usarla de la mejor forma se creo una clase llamada email la cual es una clase objeto para ser nada mas instaciarla cuando se necesiten.

jueves, 2 de abril de 2015

Jueves 02/04/2015 (Aplicación de Escritorio)

Tiempo invertido: 4 horas y 30 minutos aproximadamente.

11:00-13:30
Para la parte de la aplicación de escritorio decidimos trabajar con el patrón de diseño MVC el cual es Mode View Controler, ya que nos pareció la forma ideal para realizar el proyecto, y ademas que es algo que hemos querido implementar para poder así tener buenas practicas a la hora de la programación.
Debido a esto empezamos a buscar e investigar como hacerlo de este modo de diseño para poder implementarlo de la mejor forma en nuestro proyecto, por este motivo procedimos a buscar diferentes tutoriales, vídeos , ejemplos, etc con los cuales nos pudimos dar una idea de como se trabaja y se implementa este tipo de patrón de diseño.

20:00-22:00
Luego de haber investigado un poco mas afondo el patron MVC, se empezo a practicar y tratar de buscar de que manera se podría acomodar muy bien este patrón con el proyecto, y así realizarlo de una forma mas ordenada y limpia.
Se realizaron varias practicas con ejemplos para así poder tener una idea mucho mas clara como se trabaja con este patrón.



miércoles, 1 de abril de 2015

Miércoles 01/04/2015 (Pagina Web)

Tiempo invertido: 2 horas, aproximadamente.

13:30-14:30
Como parte del desarrollo de la aplicación web, surgió el problema de la implementación de varias vistas con su respectivo controlador, además de la creación del servidor. Se empezó una investigación muy importante para evacuar las interrogantes e incrementar nuestro conocimiento en está área de computación.
La búsqueda de una solución, tanto eficiente como elegante, para el manejo de las vistas se complicó. No encontrábamos algo convincente, algo con lo que pudiéramos aligerar el desarrollo y a su vez hacerlo eficaz. En la investigación, gracias a la gran cantidad de información recopilada, conocimos el uso de plantillas para las vistas, específicamente con el uso del Framework Bootstrap.