Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Introducción
El objetivo de esta práctica es implementar el diseño del Seminario 4 para
la gestión de asignaturas. La primera parte de la práctica consiste en definir
las clases necesarias para almacenar los datos de entrada. La segunda parte
consiste en añadir los métodos necesarios para poder satisfacer pedidos aso-
ciados con las asignaturas.
1
un método llamado toString() que convierte una instancia de cualquier
clase a un String.
En la clase Administracion existen dos métodos llamados getObject y
listaToString que se pueden aprovechar en la práctica. El primer método,
getObject, tiene un String (llamado desc) y una lista como argumentos, y
devuelve el elemento de la lista cuya transformación por medio de toString
iguala desc. El método listaToString tiene una lista como argumento
y devuelve una lista de String que resulta de aplicar toString a cada
elemento de la lista de entrada.
Para aprovechar estos dos métodos es necesario sobreescribir el método
toString en las clases que representan las entidades de la universidad. Para
profesores, alumnos y asignaturas se usa el nombre para describir una enti-
dad, mientras que para aulas se usa el código.
Profesor Alumno
1 1
0..* 0..*
Asignacion 0..* 0..* Matricula
1 1
Asignatura
1
0..*
Clase 0..*
1
Aula
La notación “0..*” indica que una instancia de una clase puede estar asociada
con cualquier número de instancias de la otra clase. La intención es usar listas
para representar este tipo de relación entre clases.
Una vez definidas las clases, se ha de crear atributos que almacenan las
entidades de la universidad. Como no se sabe de antemano cuantas entidades
hay, estos atributos también deben ser listas. Los atributos se deben declarar
al final de la clase Administracion y inicializarse en el constructor.
El método agregarDato es donde se deberı́a crear las instancias de las
clases. La clase Administracion incluye un método que interpreta la en-
trada en formato XML y lo convierte en un array de String, que se pasa
2
como argumento al método agregarDato. El primer elemento de este array
siempre es igual a uno de los siguientes valores:
”clase”: el dato a agregar es una clase. Las demás posiciones del array
especifican el código del aula, el nombre de la asignatura, la franja
horaria, el tipo de clase y el grupo.
3
representando el nombre o el código de la entidad correspondiente. Para im-
plementar estos métodos se puede aprovechar el método listaToString.
Se garantiza que los datos son únicos, y que no hay ningún conflicto
(ningún profesor tiene que dar dos clases en la misma franja horaria, etc.)
4. Pedidos
La segunda parte de la práctica consiste en satisfacer pedidos de varios
tipos relativos a las asignaturas. Se considerarán tres tipos de pedidos adi-
cionales con respecto al seminario:
4
es un array de String cuyo primer elemento es uno de los tipos de pedido
(”AsignaturasDeAlumno”, ”ProfesoresDeAsignatura”, etc.). Los siguientes
elementos del array corresponden a los argumentos de la tabla aquı́ arriba.