Programación de Bases de Datos Universidad de Granada Proyecto S.I. Gestión E.T.S.I.I Curso...

27
Programación de Bases de Datos Universidad de Granada Proyecto S.I. Gestión E.T.S.I.I Curso 2002/2003

Transcript of Programación de Bases de Datos Universidad de Granada Proyecto S.I. Gestión E.T.S.I.I Curso...

Page 1: 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 Universidad de Granada

Proyecto S.I. Gestión E.T.S.I.I

Curso 2002/2003

Page 2: 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

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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 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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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

Page 13: 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

Gestión Recursos Docentes. Esquemas Externos

RecursosDocentes

Aulas

MaterialDocente

Aula#

Material#

Capacidad

Tipo

13

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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