You are on page 1of 32

Proyectó Programación

Orientada a Objetos.
Contenido
Introducción .................................................................................................................................. 3
Justificación................................................................................................................................... 3
Objetivos ........................................................................................................................................ 4
Objetivo General: ..................................................................................................................... 4
Objetivos Específicos ................................................................................................................ 4
QUICK RATINGS ............................................................................................................................. 4
Entorno ....................................................................................................................................... 4
Descripción del problema ....................................................................................................... 5
Solución planteada .................................................................................................................. 5
Funcionalidades de la solución planteada (Lista de Requerimientos). ........................... 6
Descripción de Requerimientos ............................................................................................. 7
Casos de uso ........................................................................................................................... 11
Diagrama de Clases .............................................................................................................. 12
Diseño de la interfaz gráfica de Usuario ............................................................................. 13
Pruebas de la aplicación ...................................................................................................... 19
Lecciones aprendidas y experiencia ...................................................................................... 30
Conclusiones ............................................................................................................................... 31
Bibliografía y Referencias .......................................................................................................... 32
Introducción
El siguiente proyecto, se encuentra orientado al ámbito de la creación de una
aplicación de software, realizando un programa de sistema y control de calificaciones
de 5.0 como nota máxima hasta 1.0 como nota mínima [1], de un grupo de alumnos
de bachillerato de la institución EducaYA S.A.S., que es Institución Educativa Distrital
que cuenta con un total de 24 grupos en la sección de bachillerato, en los que se
encuentran niños y niñas que ven un total de 12 asignaturas [2].
En este software podrán interactuar los diferentes docentes que dictan sus distintas
asignaturas a los 24 grupos que se encuentran en la institución[1], de igual forma
pueden interactuar El rector de la institución y el coordinador de este, quienes podrán
mirar la información del estudiante (Nombre, grado o grupo, puesto, código, periodo,
docente a cargo).Este software se creó con base a datos entregados por el ingeniero
Andrés Peralta , a quien se le realizó una especie de entrevista vía online (correo
electrónico institucional) y quien por su parte es docente de la institución educativa
distrital Colegio Ricaurte en la cual nos basamos para dar inicios al proyecto del
sistema de calificaciones.
En este documento se encontrará el porqué del desarrollo del software, el objetivo al
que se quiere llegar por medio de distintos pasos, en donde se inicia con la descripción
del entorno, junto a sus problemas o debilidades que se presentan, para finalmente
dar una solución.
Para la creación de dicho programa de calificaciones se empleó el lenguaje Java,
con el IDE NetBeans 8.1, siendo estos los aspectos más utilizados por los programadores
que se especializan en el paradigma de la programación orientada a objetos.

Justificación
Este proyecto busca comprobar nuestros conocimientos adquiridos en cuanto al uso
de los diversos conceptos del lenguaje de programación Java , junto con el patrón
MVC y de la programación orientada a objetos, esto dispone un reto para nosotros ya
que al momento de emplear estos conceptos se puede generar una confusión al
momento de aplicar los métodos y clases que se maneja java para la creación de una
interfaz gráfica, de igual forma se resalta la creación del programa eficiente, para
que el cliente quede totalmente satisfecho, pues somos conscientes que en muchas
ocasiones los programas al no ser empleados por las herramientas adecuadas no
tienen la eficiencia solicitada por los clientes de dicho servicio, generando que los
usuarios del sistema presenten dificultades al momento de emplearlo, generando una
insatisfacción.
Teniendo como finalidad la creación de un programa que pueda ser empleado por
los docentes de la institución educativa, administrativos, acudientes y estudiantes,
quienes podrán interactuar con el sistema para ver el acumulado de notas y el de
fallas, a lo igual que información del estudiante, generando de este modo un
beneficio para la institución educativa, puesto que tendrán en un 90% automatizado
su sistema de calificación de notas, y promedio de los alumnos de bachillerato.
Objetivos
Objetivo General:
Crear un software para la Institución Educativa Distrital EducaYA. SA.S, con los criterios
básicos de una Institución Educativa Distrital.

Objetivos Específicos
 Analizar el sistema de calificación de un colegio tradicional.
 Estudiar el funcionamiento de distintos softwares diseñados para gestiones de
calificación.
 Identificar las relaciones que se aplican entre cada clase creada.
 Comprobar la funcionalidad del programa entregado para el colegio EducaYA
S.A.S.

QUICK RATINGS
Entorno
El entorno donde se aplicará el proyecto QUICK RATINGS, que en español significa
calificaciones rápidas, en una Institución Educativa Distrital, ubicada en una de las
localidades de la ciudad de Bogotá, capital de Colombia, la cual cuenta con 24
grupos a nivel de bachillerato, los cuales están bajo los conocimientos de 36 docentes,
distribuidos en 12 asignaturas las cuales hacen parte de un área de desarrollo
específica como lo es ciencias, matemáticas, humanidades o lenguaje, dictadas por
distintos docentes los cuales tendrán un ingreso a la plataforma QUICK RATINGS para
que puedan subir las notas que el estudiante obtuvo durante el periodo, de igual
forma en esta podrán subir la cantidad de fallas o inasistencias que ellos tengan
durante el periodo académico, puesto que la inasistencia de los estudiantes a clase
puede ser motivo de pérdida de la asignatura [3].Las personas que podrán tener
acceso al sistema de calificaciones serán los docentes, y directivos académicos de la
institución, pues son ellos quienes deben de estar al tanto del rendimiento académico
de los estudiantes de dicha institución, mirando aspectos generales en la plataforma
como el nombre completo del estudiante, grupo al que pertenece, nombre del
director de grupo, asignaturas que ve, nota de cada asignatura en los diferentes
periodos, etc. Al ser esta institución educativa del estado, si cuenta con una
plataforma para las calificaciones, la cual hace parte de la secretaria de educación
del distrito [2], actualmente no es relevante si la institución educativa es pública o
privada, todo se hace de una forma sistemática, por lo cual es muy poco probable
que alguna institución educativa no cuente con una plataforma educativa interactiva
para los docentes.
Las instituciones del estado colombiano en su mayoría están bajo la organización de
un sistema educativo el cual fue diseñado por el Ministerio de Educación Nacional, el
cual busca que las instituciones educativas le rindan cuentas a la comunidad, así
como una sociedad más vigilante y participativa. [4], Para esto los colegios del estado
o Instituciones Educativas Distritales tienen dos jornadas una mañana y otra tarde,
ambas jornadas cuentan con la misma intensidad horaria de 6 horas, de las cuales por
ley se tiene un recreo de 30 minutos, como todo plantel educativo se cuenta con un
solo rector y administrativos para las dos jornadas, solo cambian los coordinadores
académicos y de convivencia al igual que los docentes de cada jornada.
En el colegio EducaYa S.A.S., la forma en la que se sacan las notas de los estudiantes
por la materia se divide en porcentajes de 70% y 30%, donde el 70% son talleres, talleres
evaluativos(Quiz), exposiciones, tareas y el 30% es de la evaluación final,
autoevaluación (Nota apreciativa que el estudiante se da), con estos dos porcentajes
se saca el promedio o nota final, la cual es subida al sistema junto con las notas, para
que posteriormente sea impreso en un boletín el cual es entregado al acudiente en
una reunión al finalizar el periodo estudiantil, las fallas no son un aspecto que baje la
nota del estudiante, pero si es un factor que genera que el estudiante baje su
promedio, por eso en algunas instituciones educativas se lleva un registro de las fallas
del estudiante las cuales llevan un seguimiento por parte del rector y coordinador de
la institución quienes son los pilares más fuertes de una Institución Educativa Distrital.
Se manejan 4 periodos educativos en la mayoría las instituciones educativas, donde el
primer periodo va de enero a mayo, mes donde se da apertura al segundo periodo
hasta julio para seguir con el tercer periodo que va hasta el mes de septiembre en
donde inicia el cuarto periodo hasta el mes de noviembre, cabe tomar en cuenta las
evaluaciones finales se llevan a cabo una semana antes de finalizar el semestre, estas
son diseñadas por cada docente, por lo cual el rector y el coordinador no juegan un
roll al momento de la calificación, la cual es subida al sistema por cada docente de
forma autónoma y en las fechas que son habilitadas por el secretario administrativo de
la institución.
Nota: No todos los colegios de Bogotá tanto privados o distritales tienen periodos, esto
depende del rector, y del manual de convivencia que este establecido en cada una
de las instituciones.

Descripción del problema


EducaYA S.A.S. es una institución educativa del estado, la cual necesita de una nueva
plataforma para las calificaciones realizadas por los docentes hacia los estudiantes,
pues el sistema actual de la institución carece de un control de asistencia, aspecto
que es relevante para el rendimiento del estudiante [3], en si es un sistema que no
cuenta con la posibilidad de crear nuevas asignaturas para la institución, a lo igual
que también niega la posibilidad de crear nuevos cursos si es necesario.
Al ser una institución del estado EducaYA S.A.S cuenta con una plataforma
administrada por la Secretaria Distrital de Educación [2] plataforma que no es acorde
para las necesidades de dicha institución, la cual se siente incómoda con el sistema
operativo actual para el manejo de notas e información de los datos del estudiante,
como lo es la notas, promedio entre otros aspectos.

Solución planteada
La solución que desea generar para EducaYA S.A.S es el crear un software con interfaz
gráfica que sea usable para sus distintos usuarios , de igual forma es crear un sistema
que lleve una especie de historial de las notas finales obtenidas por cada alumno al
finalizar los 4 semestres académicos [2], para así tener al final el promedio total y dar el
puesto que este ocupado, en pocas palabras es crear un sistema que permita añadir,
modificar y ver el contenido subido por los docentes, un sistema que realice un cálculo
al momento de sacar los puestos ocupados por cada alumnos.
En general se quiere gestionar un software similar a SIIG, programa que el rector de la
institución distrital, colegio San francisco IED[5] gestionó de una forma privada e
independiente a la de la secretaria para que los docentes lleven el reporte de sus
estudiantes, donde los acudientes de estos puedan estar al tanto del estado del
estudiante quienes pueden conocer y ver mas no modificar sus notas.

Funcionalidades de la solución planteada (Lista de Requerimientos).


Cliente: EducaYA S.A.S.
Usuarios: Docentes, directivas de la institución, acudientes, estudiantes.
REQUERIMIENTOS prioridad Complejidad
1. El sistema debe permitir subir las calificaciones 1 Media
al sistema
2. El sistema debe permitir hacer el cálculo de las 2 Baja
notas de los estudiantes.
3. El sistema debe permitir ver la nota definitiva 3 Baja
del estudiante en cada periodo académico.
4. El sistema debe permitir crear asignaturas. 1 Alta

5. El sistema debe permitir mostrar el estado del 4 Media


estudiante.
6. El sistema debe permitir mostrar la información 4 Baja
completa del estudiante.
7. El sistema debe permitir la organización de 2 Media
puestos según la nota de los estuantes.
8. El sistema debe permitir subir información extra 2 Media
de la asignatura(fallas)
9. El sistema debe permitir mostrar opciones para 2 Alta
cada usuario.
10. El sistema debe permitir habilitar fechas para 1 Alta
subir las notas
11. El sistema debe permitir matricular 3 Media

12. El sistema debe permitir iniciar sesión de usuario 1 Alto

13. El sistema debe permitir crear grupo 2 Alto

14. El sistema debe permitir general informe de 3 Media


notas
15. El sistema debe permitir asignar docente a la 2 Alta
asignatura
16. El sistema debe permitir promediar la nota 4 Media
17. El sistema debe permitir ingresar datos de cada 3 Baja
curso
18. El sistema debe negar ingresar más de los 2 Baja
estudiantes permitidos por grupo
19. El sistema debe permitir desvincular docentes 4 Media
20. El sistema debe permitir que se ingrese 3 Alta
información de los administrativos
21. El sistema debe permitir organizar las 4 Media
asignaturas según el área al que estas
pertenezcan

Descripción de Requerimientos

1° requerimiento
Nombre: Subir calificaciones
Descripción: El sistema permitirá que solamente los docentes suban las
calificaciones del estudiante, pero dentro de la fecha
establecida por el administrador o secretario
Entrada: Fecha de inicio
Fecha de cierre
Nombre de la asignatura
Nombre del estudiante
Nota final de la asignatura
Salida: Nota subida al sistema
Estudiante con nota final asignada
2° requerimiento
Nombre: Calcular promedio final
Descripción: El sistema permitirá que se vea el promedio final del estudiante
cuando todas las notas estén subidas al sistema.
Entrada: Nombre del estudiante
Grupo al que pertenece
Notas de notas finales de las 12 asignaturas
Salida: Promedio final para el estudiante
3° requerimiento
Nombre: Mostrar promedios de cada periodo
Descripción: El sistema mostrar el promedio de final del estudiante de cada
periodo académico, en caso que sea el cuarto(ultimo)periodo se
mostrara el promedio de cinco periodos académicos
Entrada: Nombre del estudiante
Grupo del estudiante
Nota del promedio final
Suma de las notas del promedio de cada periodo
Salida: Visualización de la nota de cada periodo
4° requerimiento
Nombre: Crear asignaturas
Descripción: El sistema permitirá que se creen asignaturas nuevas, en caso de
que la institución desee agregar más de las asignaturas que ya
presentan
Entrada: Nombre asignatura
Docente que dictara la asignatura
Salida: Nueva asignatura agregada
5° requerimiento
Nombre: Visualizar estado del estudiante
Descripción: El sistema mostrara el estado del estudiante, es decir si este esta
matriculado, si es nuevo, o si es repitente
Entrada: Información inicial del estudiante
Salida: Mostrar estado del estudiante
6° requerimiento
Nombre: Conocer información del alumno
Descripción: El sistema permitirá tanto que se conozca la información del
estudiante(nombres, apellido, grado en el que esta, nombre del
docente titular, periodo en el que se encuentra, edad, nombre
del acudiente, etc)y de igual forma permitirá que estos datos se
modifiquen
Entrada: Nombre del estudiante
Apellido del estudiante
Edad del estudiante
Genero del estudiante
Grupo del estudiante
Nombre del acudiente
Periodo que está curando
Promedio del periodo académico
Estado del estudiante
Salida: Información del estudiante actualizado.
7° requerimiento
Nombre: Organizar puestos
Descripción: El sistema permitirá organizara los puestos de los estudiantes,
según el promedio del periodo académico, al sumar los
comparar los promedios finales de cada alumno del grupo
Entrada: Notas del promedio final del estudiante de cada estudiante
Salida: Organización de los puestos ocupados por cada estudiante
8° requerimiento
Nombre: Asignar fallas
Descripción: El sistema permitirá que no solo se suba la nota final del
estudiante, sino que de igual forma permitirá que se guarden las
fallas del estudiante durante el periodo
Entrada: Fallas durante el periodo académico
Nombre del estudiante
Asignatura
Salida: Cantidad de fallas acumuladas por el estudiante
9° requerimiento
Nombre: Mostrar opciones para cada usuario
Descripción: El sistema permitirá la interacción de los cuatro usuarios, teniendo
limitaciones para cada uno de ellos
Entrada: Cargo del usuario
Contraseña
Salida: Interacción especial para cada usuario, según su papel en la
institución
10° requerimiento
Nombre: Habilitar fechas
Descripción: El sistema habilitara fechas para que los docentes puedan subir
la nota del estudiante
Entrada: Fecha
Hora
Salida: Habilitación del sistema
11° requerimiento
Nombre: Matricular estudiante
Descripción: Se gestionara información en el sistema del estudiante, esto se
realizaría en los casos que el estudiante sea nuevo o inicio de año
Entrada: Nombre del estudiante
Apellido del estudiante
Edad del estudiante
Genero del estudiante
Grupo del estudiante
Nombre del acudiente
Periodo que está curando
Promedio del periodo académico
Estado del estudiante
Salida: Información nueva y actualizada del estudiante
12° requerimiento
Nombre: Iniciar sección
Descripción: El programa permitirá que los usuarios inicien sección, para
determinar si este es un docente, administrativo, acudiente o
estudiante para que estos interactúen con los paneles
correspondientes
Entrada: Usuario
Contraseña
Salida: Panel de cada usuario
13° requerimiento
Nombre: Crear grupo
Descripción: El sistema permitirá que se creen grupos nuevos, en caso de que
en los grados estén llenos
Entrada: Grupo nuevo
Grado al que se va a asignar el grupo

Salida: Grupo nuevo


14° requerimiento
Nombre: Generar informes de notas
Descripción: El sistema generara informes e notas por grado, grupo, estuante
Entrada: Notas finales de cada asignatura
Promedio final del periodo
Salida: Informe de notas
15° requerimiento
Nombre: Asignar docente
Descripción: El sistema asignara un docente a cada asignatura, dependiente
su tiempo libre y especialidad.
Entrada: Nombre de docente
Apellido del docente
Asignaturas disponible
Salida: Docente con asignatura
16° requerimiento
Nombre: Promediar nota
Descripción: El sistema promediara (subirá) la nota final de los estudiantes, solo
si esta queda con el decimal .8 o .9
Entrada: Nota final de la asignatura
Salida: Nota promediada para asignatura
17° requerimiento
Nombre: Llenar información del curso
Descripción: El sistema permitirá que el administrador ingrese datos del curso
en general para tener más datos de estos.
Entrada: Nombre del docente titular
Apellido del docente titular
Cantidad de alumnos
Grado
Curso(grupo)
Salida: Datos básicos del curso
18° requerimiento
Nombre: Negar asignación de curso
Descripción: El sistema rebotara la inscripción de un estudiante a un curso si
este ya tiene el cupo máximo de estudiantes
Entrada: Cantidad de alumnos
Grado
Curso(grupo)
Salida: Gestionar nuevo curso
19° requerimiento
Nombre: Desvincular docente
Descripción: El sistema permitirá desvincular (des contratar) docentes
Entrada: Nombre del docente
Apellido del docente
Asignatura
Salida: Docente fuera del sistema
20° requerimiento
Nombre: Llenar información de administrativos
Descripción: El sistema permitirá que se llena información personal del cuerpo
administrativo del lugar, para que se tenga información de estos
Entrada: Nombre del administrativo
Apellido del administrativo
Cargo del administrativo
Edad del administrativo
Salida: Registrar administrativo
21° requerimiento
Nombre: Asignar áreas
Descripción: El sistema permitirá se organicen las asignaturas que se ven en la
institución según las áreas en que estas estén.(Ciencias,
Matemáticas, humanidades)
Entrada: Nombre de la asignatura
Área
Docente jefe de área
Salida: Asignatura con un área especifica

Casos de uso
Diagrama de Clases
Diseño de la interfaz gráfica de Usuario

1) Panel principal para todos los usuarios

2) Panel de interacción del Administrador de la institución


3) Panel para crear asignaturas en la institución, por parte únicamente del administrador.

4) Panel crear cursos

5) Panel para ver las notas de un estudiante en especifico


6) Panel crear grado

7) Panel para crear un docente, y asignarle asignaturas a dictar


8) Panel para agregar administrativos al plantel educativo.

9) Panel para matricular estudiante.


10) Panel para habilitar el cierre del sistema.

11) Panel con el que interactuara única el docente.


12) Panel para que el docente pueda subir las notas del estudiante (este los podrá subir con
el código del estudiante)

13) Panel para que el docente pueda ver la nota del estudiante.
14) Panel con el que interactuara el acudiente y el estudiante.

Pruebas de la aplicación
Gestion.Logica

Clase: GestionAdministrador
Nombre del método Descripción del método
GestionAdministrador Se crea un objeto en el cual se podrá trabajar

existeAdministrador Crea un clico, donde se valida por medio del


documento y el código del carnet la
existencias de este(el administrador), este
método tiene dos parámetros de entrada, y
me retorna un booleano
CrearAdministrador Valida por medio de un condicional, la edad
del administrador es mayor a 0, al cumplirse
este se crea el administrador con los datos de
entrada que son 7, para retornar un booleano
CantidadAdministradores Llama al ArrayList del método crear docente
datosAdministradores Se ejecuta un ciclo, el cual da inicio a la
creación de un ArrayList el cual tendrá el
tamaño según los datos de entrada, para
finalmente retornar a los objetos creados.
traerAdministrador Trae los datos del objeto creado y los guarda
en el arreglo, retornando al nuevo objeto
creado en el mismo método.
borrarAdministrador Llama los datos del método
datosAdministradores y los remueve del
sistema
cargarTextArea Carga los datos del sistema en un String
ingresoAdmin Crea un espacio en memoria mediante un
ciclo para gestionar un usuario, retornando un
booleano
cargarDatos Carga todos los datos, por medio de un this

Defecto Agrega objetos nulos al objeto


Clase: GestionAsignatura
Nombre del método Descripción del método

cantidadDeAsignaturas Llama a un arrayList del objeto creado


asignaturasToStringArray Crea un arrayList por medio de un ciclo,
retornando al objeto creado
existeAsignatura Crea un ciclo, donde se valida por medio del
Id de la asignatura la existencia de este,
retornando un booleano
crearAsignatura Toma los 6 parámetros de entrada y los llama
agregándolos al metodo
asignaturasIDToStringArray Se crea un nuevo objeto, en el cual se llena
un arreglo tomando los atributos
asignaturasCreadas Por medio de un ciclo carga las asignaturas
ya creadas

cargarDatos Carga todos los datos, por medio de un this


Defecto Agrega objetos nulos al objeto
agregarNotaALaAsignatura Agrega la nota correspondiente de la
asignatura al estudiante
obtenerAsignatura Agrega la asignatura creada anteriormente
eliminarDocenteDeLaAsignatura Busca el docenete, y lo remueve del arrayList

obtenerAsignaturaParaModificarla Llama al arrayList, para poder obtener todos


los métodos, retornando al objeto creado
modificarAsignaturaDelDocente Busca primero los datos en el arrayList, luego
los remueve, elimina si es necesario algún
dato y lo vuelve a corregir, retornando al
objeto creado.
Clase: GestionCurso
Nombre del método Descripción del método

cursosToStringArray Nos muestra la información completa del


objeto creado
cantidadDeCursos Llama al arrayList, del objeto creado

existeCurso Por medio de un ciclo y un condicional


recorre el arrayList y mira si el curso exite,
retornando un booleano
crearCurso Se crea el curso, mediante los datos de la
clase docente y grado, empleando los
atributos, para añadir algún elemento en
este caso el curso creado al arrayList,
retornado al objeto creado
cursoIDToStringArray Se crea un arreglo de tamaño 3 para que se
puedan guardar los datos, es especial el Id
del curso
cargarDATOSDelCurs Mediante un ciclo se carga la lista de cursos
creados, para de este modo invocar el
arrayList de estudiantes, de igual modos los
docentes, asignaturas que están registradas
única en el curso
agregarAsignaturaAlCurso Se agrega al curso el arreglo de las
asignaturas, siempre restándole una posición
en su ubicación
agregarEstudianteAlCurso Se agrega el estudiante del arrayList al curso,
restando al id siempre una posicion
agregarDocenteAlCursoParaDictar Se agrega el docente del arrayList al curso,
restando al id siempre una posicion
agregarAsignaturasAlEstudiante Se agregan al estudiante el curso con su
asignatura especifica

cargarDatos Obtiene los datos del curso y los cargo por


medio del arrayList
Defecto Agrega objetos nulos al objeto

eliminarDocenteDelCurso Busca al docente al recorrer por un ciclo el


arreglo, luego lo elimina
eliminarEstudianteDelCurso Busca al estudiante para recorrer por un
ciclo el arreglo, luego lo elimina
modificarDocenteDelCurso Busca al objeto, lo trae del arreglo, y se
modifica
agregarDocenteAlCursoParaDictar Se asigna el docente para el curso, este se
invoca mediante el arreglo creado
anteriormente
Clase: GestionDocente
Nombre del Método Descripción del método

existeDocente Se recorre un ciclo, en el cual por medio de


un condicional se validan los atributos para
saber si existe el docente, retornando un
booleano
crearDocente Se crea un objto, en el cual se guardaran los
atributos, creado de este modo al docente,
retornándome al objeto creado
DocenteIDToStringArray Mediante un String, se guardan los datos o
atributos del objeto creado en un arreglo
con un tamaño especifico
CargarAsignaturaDelDocente Se le asigna a los docentes una asignatura la
cual es cargada al sistema, mediante un
ciclo y un condicional
cargarCursoDelDocente Con el documento de identidad del
docnete, se carga el curso donde este
dictara clases
cargarDocentesCreados Muestra el historial de los docentes creados,
mediante la invocación del arrayList
cantidadDeDocentes Se llama al arrayList de los docentes creados
o registrados en el sistema
docentesToStringArray Se muestras los datos que se están cargando
al sistema, mediante el arrayList
cargarDatos Se cargar todos los datos del ArrayList

Defecto Agrega objetos nulos al objeto

eliminarDocente Remueve al objeto con sus atributos del


arrayList, para posteriormente eliminarlos
modificarAsignaturaDelDocente Para modificar algún dato del objeto primero
se llama, se remueve, se modifican los datos,
agregarAsignaturaAlDocente Mediante un condicional, se revisa si no
existe el nombre de la asignatura ni el
docente titular de esta se creara un campo
en memoria para una nueva asignatura,
retornando un nulo o el objeto según sea el
caso

obtenerAsignaturaDelDocente Por medio del id del docente, se puede


saber que asignatura es la que este dicta
obtenerCursoDelDocente Por medio del id del docente, se puede
saberel curso al que este dicta
obtenerDocente Por medio del id del docente, se puede
obtener todos los datos de este
Clase: GestionEstudiante

Nombre del método Descripción del método

existeAlumno Comprueba la existencia del estudiante,


mediante la comparación de su
documentación y el código del carnet,
recorriendo un ciclo hasta encontrar estos
datos, retornando un boolenano
crearEstudiante Se crea un objeto, al cual se le irán
agregando los atributos, esto nos retorna al
mismo objeto creado
cantidadDeAlumnos Llama al arrayList donde se guardaron los
datos del objeto, en este caso el estudiante

alumnosIDToStringArray Me da un arreglo en el cual puede guardar


cada dato o atributo del objeto
alumnosToStringArray Mediante un ciclo me crea el tamaño del
arreglo para que se guardar todos y cada
uno de los datos

cargarAlumnosCreados Se crea un historial de los estudiantes, el cual


se carga mediante un ciclo, el cual recorre
el tamaño del arreglo
alumnosToStringArray Mediante un ciclo me crea el tamaño del
arreglo para que se guardar todos y cada
uno de los datos, solo que en este se
emplea un condicional
cargarNotasDelAlumno Mediante un ciclo se suben las notas al
sistema, estas son cargadas por medio de
un condicional
crearNota Asigna la nota dada por el docente en un
arreglo especifico, el cual se crea por medio
de ciclos y condicionales
notasIDToStringArray Se guardan las notas mediante un arreglo
en el que cerciora si el estudiante existe
cargarDatos Se cargan no solamente los datos del
estudiante, sino que de igual forma los datos
de la nota que saco en cada asignatura,
esto se hace mediante herencia
Defecto Agrega objetos nulos al objeto

agregarNotaAlEstudiante Se asigna la nota al estudiante, con base a


sus datos, esto se hace mediante distintos
ciclos que retornan un nulo en caso de que
el estudiante no exista
obtenerEstudiante Llama al arrayList donde están los datos del
estudiante
eliminarEstudiante Se busca al estudiante por el arreglo, se
remueve de la lista para luego borrarlo
definitivamente

obtenerCursoAnteriorDelEstudiante Mediante el id del estudiante se busca por


medio del arraylist del objeto creado al
estudiante

obtenerAsignaturasAnterioresEstudiante Mediante el id del estudiante se busca por


medio del arraylist del objeto creado, para
mirar las asignaturas que este ve
obtenerNotasAnteriores Mediante el id del estudiante se busca por
medio del arraylist del objeto creado, para
mirar las notas y el promedio del estudiante
Clase: GestionGrado

Nombre del método Descripción de método

cantidadDeGrados Recorre un arraylist devolviendo el número


de elementos de la lista
gradosToStringArray Carga la información del sistema,
recorriendo un ciclo
crearGrado Se crea el grado, mediante los atributos
que se crean o heredan de la clase

gradosIDToStringArray Se crea el tamaño del arreglo

cargarCursosDelGrado Carga información al sistema

agregarCursoAlGrado Se agrega médiate el Id del curso el grado

existeGrado Se recorre un ciclo en el que se compra el


id del grado, para de este modo
comprobar la existencia del grado en el
archivo o sistema
cargarDatos Se cargan los datos que están en el
arrayList

Defecto Agrega objetos nulos al objeto

Clase: GestionUsuario

Nombre del método Descripción del método


crearUsuario Se crea un nuevo usuario con contraseña al
entrar al sistema
existeUsuario Verifica por medio de un ciclo y un
condicional la existencia del usuario que se
esta digitando
validarParaEntrar Valida por medio de un condicional si el
usuario y la contraseña ya están en el
sistema, si estos no llegan a ser iguales se
crea por defecto otro usuario

defecto Agrega objetos nulos al objeto


Vista

Clase:CrearAdministrativo
Nombre del método Descripción del metodo
CrearAdmin Por medio de un TextField, se escriben los datos
del administrados, los cuales por medio de un
condicional se comparan para se pueda crear el
adminsitrativo
validar Por medio de condicionales anídados se mira
que todos los TextField estén llenos, y en caso de
no ser asi saldrá un mensaje de error o alerta al
usuario

cargarComboBox Se crea un arrayList el cual se va llenando a


medida que se ingresa un nuevo adminsitrador
cargarAdministrador Por medio del TextField se cargan los datos que
se guardaron en el arraylist, a medida que se van
cargando datos se habilitan botones
Eliminar Borra a la persona del sistema, llamando los
datos que están en el commboBox
borrarPersona Borra a la persona seleccionada del sistema,
llamando los datos que están en el commboBox
Clase: CrearAsignaturaPanel

Nombre del método Descripción del método

irAPanelAdmin Método que nos conduce al panel del


administrador

cargarDatos Carga los datos en los jComboBox

validar invoca los datos del campo del texto, para


poder habilitar o deshabilitar funciones
crearAsignatura por medio de condicionales anidados verifica
que todos los jTextField o campos de texto no
estén en vacío, retornando un booleano
cargarDatosDeLaAsignatura si se validan correctamente los datos de la
asignatura jTextField en el sistema sin mostrar
algún error o panel de dialogo la asignatura se
crea en el sistema

cargarAsignaturasCreadas se cargan todos los datos de la asignatura en un


arrayList, el cual se creó al momento de cargar
los datos
desabilitarBotones por medio del método setEnabled se habilitan o
deshabilitan botines que no necesitan ser
empleados en algún momento
Clase: CrearCursoPanel
Nombre del método Descripción del método

cargarDatos Carga los datos en los jComboBox

cargarCursosAlComboBox: Los datos que fueron cargados, son llamados en


un comboBox, restándole siempre una posición
al arreglo
limpiar invoca los datos del campo del texto, para
poder habilitar o deshabilitar funciones
validar por medio de condicionales anidados verifica
que todos los jTextField o campos de texto no
estén en vacío, retornando un booleano
crearCurso Se crea un aaraList, en donde por un ciclo el
cual creara un campo en memoria
Clase: CrearDocentes

Nombre del método Descripción del Método

cargarDatos Carga los datos en los jComboBox

cargarDocentesAlComboBox Los datos que fueron cargados, son llamados en


un comboBox, restándole siempre una posición
al arreglo
validar por medio de condicionales anidados verifica
que todos los jTextField o campos de texto no
estén en vacío, retornando un booleano

crearDocente Se crea un aaraList, en donde por un ciclo el


cual creara un campo en memoria
cargarDatosDelDocente Por medio del TextField se cargan los datos que
se guardaron en el arraylist, a medida que se
van cargando datos se habilitan botones
Clase: CrearEstudiante

Nombre del método Descripción del método

cargarDatos Carga los datos en los jComboBox

cargarAlumnosAlComboBox Los datos que fueron cargados, son llamados en


un comboBox, restándole siempre una posición
al arreglo

validar por medio de condicionales anidados verifica


que todos los jTextField o campos de texto no
estén en vacío, retornando un booleano
crearAlumno Se crea un aaraList, en donde por un ciclo el cual
creara un campo en memoria
cargaDatosDelAlumno Por medio del TextField se cargan los datos que
se guardaron en el arraylist, a medida que se van
cargando datos se habilitan botones
habilitarBotones por medio del método setEnabled se habilitan o
deshabilitan botines que no necesitan ser
empleados en algún momento
Clase: CrearGradoPanel

Nombre del método Descripción del método

cargarGrados Carga los datos en los jComboBox

limpiar invoca los datos del campo del texto, para


poder habilitar o deshabilitar funciones
crearGrado Se crea un aaraList, en donde por un ciclo el cual
creara un campo en memoria
cargarDatosDelGrado Por medio del TextField se cargan los datos que
se guardaron en el arraylist, a medida que se van
cargando datos se habilitan botones
validar por medio de condicionales anidados verifica
que todos los jTextField o campos de texto no
estén en vacío, retornando un booleano
Clase: InicioSesion
Nombre del método Descripción del método
Ingreso Por medio de un condicional validad que todos
los campos de texto estén llenos y que la
contraseña asignada es una ya asignada al
usuario o si por el contrario se creó un nuevo
usuario,,, comprara contraseñaras
Validar Valida que tanto el campo de texto del usuario y
contraseña estén llenos, a lo igual que la
selección del usuario, permitiendo a si el ingreso
y/o creando un nuevo si es el caso.
Clase: PanelActivarNotas

Nombre de los métodos Descripción del método

Limpiar Limpia los campos de texto con los que puede


interactuar el usuario
Activar Por mensajes de dialogo con el usuario valida
que al finalizar la acción este acepte deshabilitar
la plataforma
validarFormato Valida que los campos de texto estén llenos, por
medio de condicionales que miran si el campo
de texto esta vacío
validarTamanio Valida que el campo de texto los datos escritos
sean los adecuados, comprando los día de
cierre, y apertura
validarComparacion Compara de nuevo las fechas, solamente que
este caso mira si el día corresponde al mes y el
año no han pasado ya del sistema
volver Hace conexión con el panel principal del
administrador
informacionActivacion Activa los botenes en el sistemas

Desactivar Avisa al administrador que la fecha de


desactivación de la plataforma ya fue realizada
Clase: PanelNotas

Nombre del método Descripción del método


crearNotasDelEstudiante Por medio de un condicional mira que la
validación sea correcta, agregando la mota al
estudiante, solamente si esta es correcta
Validar Valida que todos los campos de texto estén
llenos, para que la información se cree y suba
adecuadamente
Limpiar Limpia los campos de textos que se encuentran
únicamente en el panel o en la clase

cargarNotasDelEstudiante Por medio del código del estudiante se le suben


las notas, solamente si el código existe y está ya
en el sistema

modificarNota Permite la nota una vez subida sea modificado,


este método recorre el arrayList para buscar el
archivo a mofidicar
Clase: VerNotasDocentePanel
Nombre del método Descripción del método

cargarEstudiantes Por medio del código del estudiante se


invocan la mayoría de sus datos, generando
de este modo que en el sistema se carguen sus
datos, ya que por medio del código se recorre
un arrayList, retornándonos un vacío
Validar Es una excepción en la cual se valida o
rectifica que los datos del estudiantes sea los
correctos, para evitar que la nota se suba al
estudiante erróneo
cargarNotas Se cargan las nota en el método
cargarNotasDelAlumno, el cual nos retornara a
la clase gestionEstudiante
Clase: verNotasAdminPanel
Nombre del método Descripción del método
cargarEstudiantes Por medio del código del estudiante se
invocan la mayoría de sus datos, generando
de este modo que en el sistema se carguen sus
datos, ya que por medio del código se recorre
un arrayList, retornándonos un vacío
validar Es una excepción en la cual se valida o
rectifica que los datos del estudiantes sea los
correctos, para evitar que la nota se suba al
estudiante erróneo
cargarNotas Se cargan las nota en el método
cargarNotasDelAlumno, el cual nos retornara a
la clase gestionEstudiante

Lecciones aprendidas y experiencia


En cuanto a los retos que superamos en el transcurso del desarrollo del proyecto de
gestión de información de notas para EducaYA S.A.S, se puede resaltar el trabajo en
equipo pues aprovechamos los conocimientos de todos los integrantes para
plasmarlos tanto en el documento como en el código, de igual forma en otro reto que
se supero fue el del tiempo pues al inicio se creyó que el proyecto era demasiado
grande para realizarse en 5 o 4 semanas, el reto que creemos fue más grande y
cumplimos fue el de aplicar todos los conceptos que se vieron en las distintas y casi 20
sesiones de clases(cátedra) que tuvimos en la asignatura de programación orientada
a objetos durante los dos últimos cortes.
Al momento de hablar de los conocimientos adquiridos, estos se dividen en dos el
primero de ellos son los conocimientos relacionados con la aplicación del paradigma
de la programación orientada a objetos con sus distintos conceptos, en especial el
tema de las relaciones fue algo que y como segundo y menos importante es conocer
como es el sistema de calificación de los distintos colegios de Bogotá, que en su caso
fueron tres colegios dos de ellos distritales, como lo fue el colegio Ricaurte y el colegio
San Francisco[5] ubicado en la localidad de Ciudad Bolívar, junto con el colegio
Nuestra Señora de la Sabiduría [6], instituciones que al manejar software distintos nos
dieron ideas para gestionar un mockups usable, agradable y entendible para los
cuatro usuarios de QUICK RATINGS, de igual manera algo que aprendimos fue a
mantener un orden al momento de realizar nuestro código, creando funciones distintas
para que si en caso de que existiera un error pudieran encontrarlo más fácil.
Al momento de diseñar la interfaz gráfica de usuario se presentaron algunas
confusiones, pues no se tenía muy en claro los colores que harían más cómoda la
interacción de los distintos usuarios, pues el tema de la experiencia del usuario es algo
que generara de por si el nivel del sistema, ya que si este no se siente cómodo o
seguro con el sistema seria en vano la creación de este y por ende e lanzamiento al
mercado serían más perdidas que ganancias.

Conclusiones
Inicialmente se puede concluir que el manejar temas que se vieron desde las primeras
clases en la asignatura de programación orientada a objetos como lo fueron los
requerimientos, y el lenguaje unificado de modelado nos ayudaron bastante para
entender cómo serían las funcionalidades del programa solicitado, interpretando las
funcionalidades de cada usuario ante el programa.
Una experiencia ganada, o que retroalimento para nosotros fue el saber más a fondo
como es la gestión de notas en distintos colegios, y saber que cada institución maneja
sistemas distintos de calificación, donde en un colegio se saca un 30% y un 70% de
notas para llegar a la nota final [5], mientras que en otros colegios solo se suman y
dividen las notas sin darles un peso alguno a las calificaciones para llegar a la nota
final [4].
El trabajo en equipo es algo que consideramos fue lo más importante para sacar
adelante el proyecto (código), pues cada uno de nosotros tiene más fortalezas y
habilidades en un tema en el que quizás alguien del equipo no tenga tanta firma,
aspecto que nos enriqueció para enseñar y aprender.
Al me momento de crear el diagrama de clases, fue algo complicado pues conocer
que métodos tendrían los paneles debimos de diseñar primero la interfaz gráfica de
usuario, la cual fue posible diseñarla por el diagrama de casos de uso ya que teníamos
identificadas las distintas interacciones que los usuarios tendrían con el sistema.
El emplear temas que se vieron en el trascurso de las clases y aplicarlas al proyecto,
fue algo enriquecedor para cada uno de nosotros, pues demostramos lo aprendido
ya sea por medio de la práctica o por medio de la teoría, pues para nadie es de
extrañar que siempre existen personas que tiene un mayor dominio que otros, pero que
estas personas con mayores cocimientos pueden contribuir a los que presentan alguna
debilidad.
Otra conclusión es que el IDE de programación NetBeans, tiene herramientas que son
de gran ayuda para corregir o los errores que se presentan al momento de diseñar un
programa con MVC, siendo este un entorno de desarrollo integrado mucho más apto
para el manejo, con cualidades de uso más destacadas que otros IDE.
El documentar el programa, nos ayudó no solamente a crear el documento en java
que fue solicitado, sino que fue una ayuda más para entender con mayor facilidad a
entender las funcionalidades de los métodos, ahorrándonos quizás la molestia de
preguntar al otro que hace el método, o incluso el perder tiempo al tratar de entender
un método se halla creado por otro integrante del grupo.
Al momento de diseñar el software, se pudo mirar como la implementación del
modelo, vista, controlador, se generaba de una forma rápida si se tenía en claro las
clases que se tenían que implementar, los atributos que tendrían estas clases, las
relaciones entre estas, aspectos que se agilizaron gracias al diseño del diagrama de
clases, que, aunque es extenso y un poco demorado de entender, es la guía o base
para iniciar con el proyecto a trabajar.
El realizar pruebas de aplicación, nos ayudó en dos aspectos, el primero que fue el
validar los métodos creados para verificar si lo que se fue creado o se encuentra en el
código está correctamente, y de igual forma fue el de realizar una especie de listado
en el que podamos revisar si el método funciona a la claridad o con los parámetros
deseados.
Al momento de crear la persistencia, se pudo evidenciar como el método de creación
del archivo y los DRUD en java (crear, modificar, eliminar), ayudan a que el programa
persista en sus datos perfectamente sin necesidad de añadir más métodos al paquete
de controlador persistencia.

Bibliografía y Referencias
[1] El tiempo. “Nuevo método de calificaciones debe ser acordado con padres de
familia. Tomado de: http://www.eltiempo.com/archivo/documento/CMS-5114050
[2] Peralta Andrés. Entrevista virtual.
[3] Balda, María. “La inasistencia a clases de los estudiantes influye en el
rendimiento académico”. Tomado de:
http://repositorio.ute.edu.ec/bitstream/123456789/3296/1/47893_1.pdf
[4] Ministerio de Educación Distrital http://www.mineducacion.gov.co/1759/articles-
205294_archivo_pdf.pdf
[5] Colegio distrital San Francisco http://siig.sanfranciscoied.edu.co/
[6] Plataforma saberes de la institución privada Nuestra Señora de la Sabiduría
http://www.colsabibogota.edu.co/service-view/winter-dresses-2016/

You might also like