Proyecto Schedule Shock Management Tool (SSMT)
Diego1a312Informe4 de Mayo de 2019
3.135 Palabras (13 Páginas)233 Visitas
Proyecto
Schedule Shock Management Tool (SSMT)
Diego Aguirre García
Christopher Vargas Leyton
Nicolás Bobadilla Sánchez
Índice
- Introducción
- Parte I : Dominio del problema…………………………………………………………..3
- Parte II :Análisis ………………………………………………………………………….4
3.1 Requerimientos generales………………………………………………………...4
3.2 Requerimientos funcionales……………………………………………….……...4
3.2.1 Usuarios……………………………………………………………………….5
3.2.1.1 Estudiantes
3.2.1.2 Profesores
3.2.1.3 Administrador
3.3 Clases
3.3.1 Clase alumno
- Parte III :Diseño
- Planificación
- Conclusión
1 Introducción
Durante miles de años nuestros antepasados lucharon para poder sobrevivir ante este inclemente mundo a base de inteligencia y trabajo en equipo, creando diferentes tipos de tecnologías que les ayudaron en su lucha, como fueron las herramientas básicas, como el martillo, la lanza, los cuchillos, arcos, etc., Esto de una forma u otra ayudo en gran medida a aligerar el esfuerzo requerido para completar ciertas tareas, acortando los tiempos necesarios y aumentado la eficiencia de estos. Y así en los siguientes cientos de años se fueron creando nuevas tecnologías que terminaron por reemplazar completamente al ser humano en ciertas tareas, como fue el arado tirado por animales, o como también las maquinas reemplazaron a ciertos trabajadores en las industrias, en la actualidad la inteligencia artificial reemplazando en tareas con diferentes tipos de complejidades. Gracias a al reemplazo del ser humano en ciertos procesos se aumentó la eficiencia y optimalización, logrando así, un aumentando en la calidad de servicios y productos.
En este informe se hablara acerca de nuestro proyecto tecnológico, el propósito de este es el de mejorar un proceso presente en nuestra escuela de ingeniería informática, más adelante en este informe se explicara el problema en cuestión, la solución y el como la implementamos.
2. Parte I Dominio del problema
En nuestra escuela de ingeniería informática hay algunos procesos académicos que en los cuales todavía se requieren de un trabajador humano para completar la tarea, aunque algunas de estas tarea se podrían reemplazar con agregar un programa en nuestros navegador académico para que lo realice.
En el proceso en el que nosotros nos vamos a centrar es el de resolución de los choques horarios, los pasos que requiere en estos momentos son los siguientes:
- Es necesario de un trabajador que realice este proceso.
- hay que ir de manera presencial a solucionarlo, necesitando de tener que organizarse de tiempo libre para ir, siendo que hay momentos en el que se es imposible el poder hacerse un tiempo libre que contemple el horario de atención ya definido.
- La atención se realiza por orden de llegada.
2.1 Solución propuesta
Crear una aplicación que permita solucionar los choques horarios de tal manera que se utilicen los menos recursos posibles y principalmente que se aumente la accebilidad y eficiencia de este proceso. La aplicación será una herramienta para nuestro navegador académico, por lo tanto, podrá de tener acceso a información correspondiente que se necesite para solucionar el choque horario, aunque durante su desarrollo será operada como una aplicación aparte con su propia base de datos en la cual se guardaran los datos requeridos para la funcionalidad óptima.
3. Parte II Análisis
Como nuestra aplicación durante su desarrollo estará funcionando como una aplicación en solitario, se explicara sus requerimientos funcionales:
3.1Requerimiento general
Para la que funcione la aplicación se necesitara tener con anterioridad las mallas curriculares de las carreras impartidas en la escuela de ingeniería informática además de los horarios de sus salas de clases, profesores y alumnos, además de tener acceso a ciertos datos específicos de profesores y alumnos mostrados a continuación.
Estudiantes | Profesores |
Nombre | Nombre |
Rut | Rut |
Cantidad de terceras | Ramos impartidos |
Carga académica | Contraseña de la aplicación |
Año(cuántos años lleva en la carrera) | |
Contraseña de la aplicación |
3.2 Clases creadas
3.2.1 Clase Alumno
Clase principal de la aplicación, aquí se guarda el horario del estudiante, que es cual tiene el problema a solucionar por nuestra aplicación. Además de los ciertos datos correspondientes al estudiante.
Atributos:
[pic 1]
Métodos:
- setContraseña: Recibe un string y lo agrega como la contraseña del usuario.
- getContraseña: Retorna un string con la clave del usuario.
- setNombre: Recibe un string y lo agrega como el nombre del usuario.
- getNombre: Retorna un string con el nombre del usuario
- setRut: Recibe un entero y lo agrega como el rut al usuario
- getRut: Retorna un string con el rut del usuario
- getHorario: Retorna un arraylist con el horario del alumno
- setHorario: Recibe un arraylist y lo agrega como con el horario del usuario.
- getCantidadTercera: Retorna un entero con el números de terceras que tiene en cada uno de los ramos cursados
- setCantidadTercera: Recibe un entero y lo agrega como la cantidad de terceras que tiene el usuario
- getCarga: Retorna la carga académica que tiene el usuario.
- setCarga: Recibe un entero y lo agrega como la carga académica del usuario, esta se conoce al sumar la cantidad de créditos que tiene cada ramo cursado.
- getAño: Retorna el año de ingreso del usuario.
- setAño: Recibe un entero y lo agrega como año, este es el año en el que ingreso a la universidad.
- getReprobados: Retorna un arraylist con los ramos reprobados del usuario.
- setReprobados: Recibe un arraylist con los ramos reprobados del usuario y lo guarda en reprobados.
3.2.2 Clase Lista Alumno
Atributos:
[pic 2]
Constructores:
[pic 3]
Métodos:
- agregarAlumno: Recibe un objeto tipo Alumno y revisa si existe, si este no existe lo guarda en alumnos y retorna true, en caso contrario retorna false.
- eliminarAlumno: Recibe un string con el rut de un Alumno y revisa si existe el Alumno en el arraylist alumnos, en caso de existir lo elimina y retorna true , en caso contrario retorna false.
- buscarAlumno: recibe un string con el rut y otro string con la contraseña del Alumno revisa si exite el Alumno en el arraylist alumnos, retorna el objeto alumno correspondiente y en caso contrario retorna null.
- buscarAlumno: Recibe un string con rut del Alumno, revisa si existe el Alumno en el arraylist alumnos, retorna el objeto alumno correspondiente, en caso contrario retorna null.
- modificarAlumno: Recibe un string con el rut de un Alumno si se encuentra se modifica con el objeto alumno que se recibió y se retorna true, en caso de no encontrarlo se retorna false.
3.2.3 Clase Profesor:
Atributos:
[pic 4]
Métodos:
- setNombre: Recibe un string y lo agrega como el nombre del usuario.
- getNombre: Retorna un string con el nombre del usuario.
- setRut: Recibe un entero y lo agrega como el rut al usuario
- getRut: Retorna un string con el rut del usuario.
- setContraseña: Recibe un string y lo agrega como la contraseña del usuario.
- getContraseña: Retorna un string con la clave del usuario.
- getRamosImpartidos: Retorna un arraylist con los que imparte el profesor.
- setRamosimpartidos: Recibe un arraylist con los ramos que imparte el profesor y lo agrega como sus ramosimpartidos.
3.2.4 Clase ListaProfesor
Atributos:
[pic 5]
Constructores:
[pic 6]
Métodos:
- agregarProfesor: Recibe un objeto tipo Profesor y revisa si existe, si este no existe lo guarda en profesores y retorna true, en caso contrario retorna false.
- eliminarProfesor: Recibe un string con el rut de un Profesor y revisa si existe en el arraylist profesores, en caso de existir lo elimina y retorna true , en caso contrario retorna false.
- buscarProfesor: recibe un string con el rut del Profesor y otro string con la contraseña y revisa si exite en el arraylist profesores, retorna el objeto Profesor correspondiente y en caso contrario retorna null.
- buscarProfesor: Recibe un string con rut del Profesor revisa si existe en el arraylist profesores, retorna el objeto Profesor correspondiente, en caso contrario retorna null.
- modificarProfesor: Recibe un string con el rut de un Profesor si se encuentra se modifica con el objeto Profesor que se recibió y se retorna true, en caso de no encontrarlo se retorna false.
3.2.5 Clase Ramo
Atributos:
[pic 7]
Métodos:
- getnombreRamo: Retorna un string que corresponde al nombre del ramo.
- setnombreRamo: Recibe un string con el nombre del ramo y lo guarda nombreRamo.
- getclaveRamo: Retorna un string que corresponde con la clave del ramo.
- setclaveRamo: Recibe un string con el clave del ramo y lo guarda claveRamo.
- getImpartido: Retorna un objeto Profesor.
- setImpartido : Recibe un objeto Profesor y lo guarda en impartido, corresponde al profesor que imparte el ramo en específico.
- getCreditos: Retorna un entero que corresponde a la cantidad de créditos que vale el ramo.
- setCreditos: Recibe un entero con los créditos que corresponde el ramo y lo guarda en créditos.
- getSemestre : Retorna un string que corresponde a que semestre corresponde este ramo.
- setSemestre : Recibe un strimg que corresponde al semestre que corresponde el ramo y lo guarda en semestre
- getTotalReprobaciones: Retorna entero que corresponde a la cantidad de alumno que reprobaron el ramo.
- setTotalReprobaciones:Recibe un entero con la cantidad de alumno reprobado y lo guarda en totalReprobados.
- getCupo: Retorna un entero que corresponde al cupo máximo del ramo.
- setCupo: Recibe un entero con el cupo máximo de alumno en el ramo y los guarda en cupo.
- getInscritos: Retorna un entero con la cantidad de alumno cursando el ramo.
- setIncritos, Recibe un entero con la cantidad de alumno inscritos y lo guarda en inscritos.
- getPrerequisitos: Retorna un arraylist con los prerrequisitos del ramo.
- setPrerequisitos : Recibe un arraylist con los prerrequisitos del ramo y los guarda en prerrequisitos.
3.2.6 Clase ListaRamo
Atributos:
[pic 8]
Constructores:
[pic 9]
Métodos:
- agregar Ramo: Recibe un objeto tipo Ramo y revisa si existe, si este no existe lo guarda en ramos y retorna true, en caso contrario retorna false.
- eliminar Ramo: Recibe un string con la clave de un Ramo y revisa si existe en el arraylist ramos, en caso de existir lo elimina y retorna true , en caso contrario retorna false.
- buscar Ramo: Recibe un string con la clave de un Ramo revisa si en el arraylist ramos, retorna el objeto Ramo correspondiente, en caso contrario retorna null.
- modificarRamo: Ramo si se encuentra se modifica con el objeto Ramo que se recibió y se retorna true, en caso de no encontrarlo se retorna false.
3.2.7 Clase Bloque
Atributos:
[pic 10]
Métodos:
- setHora: Recibe un string que corresponde al bloque (1-2;3-4……) y lo guarda en hora.
- getHora: Retorna un string correspondiente al bloque.
- setDisponibilidad: Recibe un boolean correspondiendo a si el bloque está disponible o no., y lo guarda en disponibilidad (true si está disponible y false en caso contrario).
- isDisponibilidad: Retorna un boolean correspondiendo a la disponibilidad del bloque.
- setAsignado: Recibe un objeto tipo Ramo que corresponde al ramo que se está cursando en ese bloque y lo guarda en asignado.
- getAsignado: Retorna un objeto tipo Ramo correspondiente al ramo que se está impartiendo en el bloque.
3.2.8 Clase Dia
Atributos:
[pic 11]
Constructor:
[pic 12]
Métodos:
- getNombreDia: Retorna un string con el nombre del dia :
- getHorarioDiario: Retorna un arraylist correspondiendo a los bloques horarios de un día.
3.2.9 Clase Horario
Atributos:
[pic 13]
Métodos:
- setHorarioSemanal: Recibe un arraylist con correspondiendo al horario semanal y lo guarda en horarioSemanal.
- getHorarioSemanal: Retorna un arraylist correspondiente al horario semanal.
3.2.10 clase SalaClases
Atributos:
[pic 14]
Métodos:
- setHorarioSala: Recibe un objeto Horario que corresponde al horario semanal de la semana para esa sala y lo guarda en horarioSala.
- getHorarioSala: Retorna un objeto Horario que corresponde al horario semanal de la semana para esa sala.
- setClaveSala: Recibe un string con la identificación del sala y lo guarda en claveSala.
- getClaveSala: Retorna un string con identificación del sala y lo guarda en claveSala.
- setCapacidad: Recibe un entero correspondiendo a la cantidad máxima de persona sentadas en esa sala y lo guarda en capacidad.
- getCapacidad: Retorna un entero correspondiendo a la cantidad máxima de persona sentadas en esa sala.
3.2.11 Clase ConexionBd
Atributos:
[pic 15]
Método:
- Conectar: Metodo para conectar la aplicación a la base de datos.
3.3.12 Clase MetodosSql
...