programación de bases de datos universidad de granada proyecto s.i. gestión e.t.s.i.i curso...
TRANSCRIPT
Programación de Bases de Datos Universidad de Granada
Proyecto S.I. Gestión E.T.S.I.I
Curso 2002/2003
Programación de Bases de Datos
1 Descripción general del Problema
• Vamos a tomar información de la guía de la ETSII y de otras fuentes (web ETSII, subdirección, secretaría, etc.) cuando sea necesario, para describir y recopilar los requisitos del problema
• Primero acotaremos las áreas que vamos a cubrir con nuestro S.I. Por ejemplo:» Gestión de Docencia. Recursos, asignaturas, grupos y
profesores» Gestión de Matrículas» Vínculos entre ambas áreas
2
Programación de Bases de Datos
Análisis Gestión de Docencia. Recursos, asignaturas, grupos y
profesores• Finalidad: organizar los recursos de infraestructura para
acomodar la docencia para todos los grupos de teoría y prácticas (a ser posible, a gusto de la mayoría)
• Elementos del problema: » Aulas de teoría: capacidad» Aulas de prácticas: capacidad y características» Recursos docentes: proyectores, cañones, etc.» Grupos de teoría y de prácticas de cada asignatura» Horas semanales para cada asignatura» Horario disponible. P.e. de 8 a 21h de Lunes a Viernes en periodo
lectivo» Asignación profesor a grupos de asignatura» Incompatibilidades y preferencias de horario: por parte de los turnos
de alumnos y por parte del profesorado» Optimización de recursos: uso de aulas y otros.» Calendario de exámenes
3
Programación de Bases de Datos
Análisis Gestión de Matrículas• Organizar la información relativa a la oferta
académica para las tres titulaciones y registrar los aspectos de matrícula, convocatorias y calificaciones
• Elementos del problema:» Oferta docente por cada titulación: asignaturas
obligatorias, optativas y de libre configuración (créditos)» Precios públicos. Gestión de pagos» Requisitos para formalizar matrícula. Calificación de
acceso, asignaturas que cierran a otras, etc.» Registro de las convocatorias y de las calificaciones
4
Programación de Bases de Datos
2 Requisitos de Gestión de Docencia
• Requisitos de la Estructura de Datos:1. Aulas en general: nombre, capacidad, ubicación, recursos fijos
2. Laboratorios: características de los puestos: PCs (memoria, micro, pantalla, HDD, S.O. accesibles, etc.) características de otro tipo de puestos
3. Gestión recursos docentes: proyectores y cañones y gestión de reservas: usuario, fecha reserva y ubicación para su uso
4. Registrar las titulaciones, las asignaturas (periodicidad semanal), los grupos de teoría y los de prácticas para cada asignatura de cada titulación junto con el número de plazas para cada grupo y necesidades de infraestructura
5. Registrar calendario operativo del centro:– Identificar calendario lectivo (docencia reglada)
– Identificar calendario no lectivo (cursos, examenes, etc.)
– Identificar horario operativo del centro
5
Programación de Bases de Datos
2 Requisitos de Gestión de Docencia
6. Registrar qué profesor imparte qué asignatura
7. Registrar disponibilidad de horario para cada profesor
8. Exámenes: asignatura, aulas, fecha y horario
• Restricciones Fuertes:9. Se imparten clases para los grupos de las asignaturas no para las
asignaturas
10. Un aula no puede estar ocupada por más de un grupo al mismo tiempo
11. Las clases de teoría se programan en múltiplos de una hora de duración
12. Las clases comienzan en una hora en punto
13. Un grupo de teoría de un curso de una titulación no puede tener solapada la docencia para las asignaturas obligatorias ni para las prácticas
14. Un profesor no puede tener docencia solapada
6
Programación de Bases de Datos
2 Requisitos de Gestión de Docencia
15. Un material docente no puede ser usado en dos sitios diferentes al mismo tiempo
• Requisitos funcionales:16. Mantenimiento de todos los elementos del problema (alta, baja,
modificación y consulta): aulas, grupos, horarios, etc.17. Elaboración de horarios en periodo lectivo a partir de: grupos de
asignaturas, adecuación y disponibilidad de aulas, incompatibilidades de horario y preferencias
18. Elaborar el calendario de exámenes con las mismas restricciones que para la elaboración de los horarios, sólo que en periodo no lectivo
19. Suministrar la información anterior a alumnos, profesorado y conserjería conforme a las necesidades de cada uno de ellos
20. Realizar y gestionar las reservas de aulas y de recursos docentes para docencia reglada, exámenes y actividades no programadas (cursos, seminarios, etc.)
21. Intentar armonizar la generación de horarios (problema de I.A.)
7
Programación de Bases de Datos 19-03-2003
Completar los requisitos mediante Entrevistas
• Qué funciones desempeñan en relación a su actividad. Obtener una lista suficientemente detallada y descrita
• Con quién interactúan ( p.e. profesores, pas, secretaría, etc.) y que información reciben o proporcionan de/a ellos.
• Que información registran como resultado de su actividad y cómo les resultaría más adecuado hacerlo
• Solicitar a los entrevistados que tipos de informes van a necesitar para desempeñar su labor:
» Qué datos deben consignar esos informes» Cómo deben estar ordenados» Cómo debe estar agrupados» Qué parámetros utilizar para variar la presentación de la información
• Sería interesante obtener de los entrevistados ejemplos de los informes y formularios que vienen utilizando actualmente (a ser posible en formato electrónico)
• Con esta información elaborar unos esquemas de formularios e informes y evaluarlos con los entrevistados
• Finalmente, recopilar toda esta información y organizarla como requisitos de datos y funcionales junto con todos los esquemas mencionados en el punto anterior, para utilizarla como base del diseño
8
Programación de Bases de Datos
Esquemas preliminares• Esquema inicial para docencia de los grupos de las
asignaturas
• Esquema programación docente: titulaciones, cursos, asignaturas y grupos
• Esquema para calendario de exámenes
• Esquema para gestión laboratorios de PCs
9
Programación de Bases de Datos
Gestión Recursos Docentes. Interfaces y Flujos Iniciales
Alumnos
Profesores
ProgramacionDocente
Gestión Recursos Docentes
Matricula
Horario
Restricciones
Horario
Titulaciones, Asignaturas, Grupos, creditos
Conserjeria
Reservas
Recursos
Aulas,capacidad, caracteristicas,material
10
Programación de Bases de Datos
Gestión Recursos Docentes. Armazón para Esquema F
Alumnos
Profesores
ProgramacionDocente
Horario alumnos
Restricciones
Horario profesor
Titulaciones, Asignaturas, Grupos, creditos, alumnos
Conserjeria
Reservas recursosRecursos
Aulas,capacidad, caracteristicas,material
RegistroProgram.Docente
ProgramacionDocente
RegistroRecursos
RecursosDocentes
organizarecursos
horariosy reservas
Reservas
11
Programación de Bases de Datos
Gestión Recursos Docentes. Esquemas Externos
ProgramacionDocente
horariosy reservas
Profesor
Asignaturas
imparte
de
Creditos
Aulas Grupoclase
Dia Hora
usa
Num. Alumnos
Grupos
NRP
Asignatura#
(0,n)
(1,n)
(1,1)
(1,n)
Grupo#
MaterialDocente
(0,n) (0,n)
(0,n)
(0,n)
12
Programación de Bases de Datos
Gestión Recursos Docentes. Esquemas Externos
RecursosDocentes
Aulas
MaterialDocente
Aula#
Material#
Capacidad
Tipo
13
Programación de Bases de Datos
Gestión Recursos Docentes. Armazón para Esquema D
Aulas clase
Dia Hora
usa
MaterialDocente
Material#
Tipo
Profesorimparte
NRP
(0,n) (1,n)
Asignaturasde Creditos
Num. Alumnos
Grupos
Asignatura#
(1,1)
(1,n)
Grupo#
Aula# Capacidad
(0,n) (0,n)
(0,n)
(0,n)
14
Programación de Bases de Datos
Gestión Recursos Docentes. Primer Refinamiento Esquema F
reservasaulas
reservasmaterialdocente
reservamaterial
elaborahorarios
cuatrimetrales
horarioscuatrimetrales
reservasde aulas
AlumnosProfesores
Horario alumnos
Conserjeria
ProgramacionDocente
RecursosDocentes
Restricciones
Horario profesor
petición material
reserva curso
regladacursos,examenes
15
Programación de Bases de Datos
Gestión Recursos Docentes. Primer Refinamiento Esquema D. Esquemas
Externos
horarioscuatrimetrales
Aulas clasesemanal
Profesorimparte
NRP
(0,n) (1,n)
Asignaturasde Creditos
Num. Alumnos
Grupos
Asignatura#
(1,1)
(1,n)
Grupo#
Aula# Capacidad
(0,n) (0,n)
HorarioSemanal
Dia Semana
Hora Inicio
(0,n)
Cuatrimestre
¿Agregacion entre aulas y horario semanal?
16
Programación de Bases de Datos
Gestión Recursos Docentes. Primer Refinamiento Esquema D. Esquemas
Externos
Profesor programa
NRP
(0,n)
(0,1)
reservasaulas
reservasmaterialdocente
Aulas
Durante
Tipo
MaterialDocente
Material#
Aula# Capacidad
(1,1)
(0,n)Calendario
Fecha
(0,n)
Hora Inicio
A ubicaren
(0,n)
Aulas
Aula# Capacidad
(0,n)
Actividado grupo
reservas
Actividad# Nun Alumnos
(1,1)
Calendario
Fecha
(0,n)
Hora Inicio
para (1,n)
17
Programación de Bases de Datos
Gestión Recursos Docentes. Primer Refinamiento Esquema D. Integración Reservas Aulas y Material
Docente
Aulas
programa (1,1)
(0,n) Aula#
Capacidad
(0,n)
Actividad
reservasProfesor
usan
NRP
(0,n) Tipo
MaterialDocente
Material#
Aula# Capacidad
(1,1)
(0,n)
Calendario
Fecha
(0,n)
Hora Inicio
con (0,n)
18
Programación de Bases de Datos
Gestión Recursos Docentes. Primer Refinamiento Esquema D. Integración con Horarios Cuatrimestrales
Aulas
programa (0,1)
(0,n) Aula# Capacidad
(0,n)
Actividado grupo
reservas Profesor
usan
NRP
(0,n) Tipo
MaterialDocente
Material#
Actividad# Nun Alumnos
(1,1)
(0,n)
Calendario
Fecha
(0,n)
Hora Inicio
para (1,n)
clasesemanal
imparte
(0,n)
(1,n)
Asignaturasde Creditos
Num. Alumnos
Grupos
Asignatura# (1,1)
(1,n)
Grupo#
(0,n)
(0,n)
HorarioSemanal
Dia Semana
Hora Inicio
Cuatrimestre
(0,n)
Horario Semanal Cuatrimetral
Programación de Bases de Datos
Gestión Recursos Docentes. Refinamiento Final Esquema F
elaborahorariosAlumnos
elaborahorarios
Profesores
elaborahorarios
Conserjeria
reservasaulas
reservasmaterialdocente
reservamaterial
elaborahorarios
y examenes
horarioscuatrimetrales
reservasde aulas
Alumnos Profesores
Horario alumnos
Conserjeria
ProgramacionDocente
RecursosDocentes
Preferencias
Horario profesor
petición material
reserva curso
regladacursos,examenes
preferenciasde horario
registrapreferencias
ProgramacionDocente
Titulaciones, Asignaturas, Grupos, creditos, alumnos
RegistroProgram.Docente
Recursos
Aulas,capacidad, caracteristicas,materialRegistro
Recursos
Calendariooperativo
Esquema F Finalpara Gestión deRecursos Docentes
Nuevo Nuevo
Nuevo
Nuevo
Nuevo
Nuevo Nuevo
20
Programación de Bases de Datos
Gestión Recursos Docentes. Refinamiento 2 Esquema D. Esquema Externo
RecursosDocentes
Aulas Aula#
Capacidad
Teoria Laboratorios PCs
Otroslaboartorios
Descripcion Hardware
Descripcion Recursos
Infraestructura docente
(t,e)
21
Programación de Bases de Datos
Gestión Recursos Docentes. Refinamiento 2 Esquema D. Esquema Externos
ProgramacionDocente
Profesor
Asignaturas
imparte
de
Cred. Teoricos
Num. Alumnos
Grupos
NRP
Asig#
(0,n)
(1,n)
(1,1)
(1,n)
Grupo#
CalendarioCentro
Fecha
Hora
CuatrimestreCurso
Curso#
de
Titulacion
de
Num.Alumnos
Cred. Pract.
Perfil Tipo
Tipo
Titulacion#
(1,1)
(1,1)
(1,n)
(1,n)
CalendarioOperativo
Cuatrimestre# Lectivo?
22
Programación de Bases de Datos
G. Recursos Docentes. Refinamiento 2 Esquema D. Integración de Esquemas Externos
Aulas
programa (0,1)
(0,n)
Aula# Capacidad
(0,n)
Actividado curso
reservas
Profesorusan
NRP (0,n) Tipo
MaterialDocente
Material#
Actividad# Nun Alumnos
(1,1)
(0,n)
Calendario
Fecha
(0,n)
Hora Inicio
para (1,n)
clasesemanal
imparte
(0,n)
(1,n)
Asignaturasde
Num. Alumnos
Grupos
Asignatura# (1,1)
(1,n)
Grupo#
(0,n)
(0,n)
HorarioSemanal
Dia Semana
Hora Inicio
Cuatrimestre
(0,n)
Horario Semanal CuatrimetralTeoria
Laboratorios PCs
Otroslaboartorios
Descripcion Recursos
Infraestructura docente
Cred. Teoricos
CuatrimestreCurso
Curso#
de
Titulacion
de
Num. Alumnos
Cred. Pract.
Perfil TipoTipo
Titulacion#
(1,1)
(1,1)
(1,n)
(1,n)
Cuatrimestre#
Lectivo?
Micro MemoriaHDD
T, Video
Otros (t,e)
Area Conocimiento
Tipo
23
Programación de Bases de Datos
Gestión Recursos Docentes. Esquema D Final
Aulas
programa (0,1)
(0,n)
Aula# Capacidad
(0,n)
Actividado curso
reservas
Profesorusan
NRP (0,n) Tipo
MaterialDocente
Material#
Actividad# Nun Alumnos
(0,1)
(0,n)
Calendario
Fecha
(0,n)
Hora Inicio
para (1,n)
clasesemanal
imparte
(0,n)
(1,n)
Asignaturasde
Num. Alumnos
Grupos
Asignatura# (1,1)
(1,n)
Grupo#
(0,n)
(0,n)
HorarioSemanal
Dia Semana
Hora Inicio
Cuatrimestre
(0,n)
Horario Semanal CuatrimetralTeoria
Laboratorios PCs
Otroslaboartorios
Descripcion Recursos
Infraestructura docente
Cred. Teoricos
CuatrimestreCurso
Curso#
de
Titulacion
de
Num. Alumnos
Cred. Pract.
Perfil TipoTipo
Titulacion#
(1,1)
(1,1)
(1,n)
(1,n)
Cuatrimestre#
Lectivo?
Micro MemoriaHDD
T, Video
Otros (t,e)
Area Conocimiento
Tipo
no prefiere (0,n)
(0,n)
Prioridad
Nombre
Departamento
pertenece a
(1,n)
(1,1)
Dpto#
Nuevo
Nuevo
Nuevo
Esquema D Finalpara Gestión deRecursos Docentes
Infraestructura necesaria Curso Academico
24
Programación de Bases de Datos
Operaciones para la BD de G. de Recursos Docentes.
• Elabora horarios y exámenes» Obtener la información de todos los grupos de las asignaturas de una
titulación para un cuatrimestre dado (tipo grupo, asignatura, créditos teóricos y prácticos, tamaño, titulación, recursos necesarios, profesor que lo imparte, etc.)
» Obtener las características de las aulas» Obtener los huecos libres para un aula» Obtener el horario disponible para un profesor dado y sus preferencias de
horario priorizadas» Registrar una clase semanal
• Registro de Recursos docentes• Registro de Programación docente• Reserva de material docente• Reserva de aulas• Registra preferencias• Elabora horarios alumnos• Elabora horarios profesores• Elabora horarios conserjería
25
Programación de Bases de Datos
Esquema Lógico Relacional• Aulas(Aula#,Capacidad)
• Calendario(Fecha,Hora_inicio,Lectivo)
• Reservas(Fecha,Hora_inicio,Aula#)
• Uso_material(Fecha,Hora_inicio,Aula#,Material#)
• Mat_Docente(Material#,Tipo)
• Titulacion(Titulacion#)
• Curso_cuatrimestre(Curso#,Cuatrimestre#,titulación#)
• Asignaturas(Asignatura#,Curso#,Cuatrimestre#,titulación#,Perfil,Tipo, Area,Ctos_teoricos,Ctos_practicos,num_alumnos,infraestructura)
• Grupos(Grupo#, Asignatura#,Curso#,Cuatrimestre#,titulación#, tipo,num_alumnos)
• Horario_semanal(Dia,Hora_ini,Cuatrimestre,Año)
• Clase_semanal(Aula#,Dia,Hora_ini,Cuatrimestre,Año, Grupo#, Asignatura#,Curso#,Cuatrimestre#,titulación#)
26
Programación de Bases de Datos
Esquema Lógico Relacional. Normalización
• (Asignatura#,Titulación#) → (Curso#,cuatrimestre#)» La tabla Curso_cuatrimestre se integra con la tabla Asignaturas» Asignaturas(Asignatura#, Titulación#, Curso#, Cuatrimestre#,
Perfil,Tipo, Area, Ctos_teoricos, Ctos_practicos,num_alumnos, infraestructura)
» Grupos(Grupo#, Asignatura#,Titulación#, tipo, num_alumnos)
• Clase_semanal(Aula#,Dia,Hora_ini,Cuatrimestre, Año, Grupo#, Asignatura#,Titulación#)» (Aula#,Dia,Hora_ini,Cuatrimestre,Año)→(Grupo#,
Asignatura#,Titulación#)» (Dia,Hora_ini,Cuatrimestre,Año,Grupo#, Asignatura#,
Titulación#)→Aula#» Clase_semanal(Aula#,Dia,Hora_ini,Cuatrimestre, Año, Grupo#,
Asignatura#,Titulación#) Dos Claves candidatas
27