Obiektowość Javy 3

Zadanie 7 (7p)
(System Dziekanat)

Napisać program, który symuluje rzeczywiste operacje w dziekanacie uczelni, w szczególności dotyczące rejestracji studentów, wykładowców, asystentów, przedmiotów i ocen. Program powinien dostarczyć definicje, m. in. następujących klas:

Osoba:
Pola: nazwisko, pesel.
Metody: podstawowe metody.

Student:
Pola: nazwisko, pesel,
unikalny numer indeksu, realizowane przedmioty i oceny. Z każdego przedmiotu, student otrzymuje 2 oceny, od wykładowcy  i od asystenta.
Metody: m. in.
dodaj(przedmiot), usun(przedmiot), srednia().

Wykladowca:
Pola: nazwisko, pesel, realizowane przedmioty.
Metody:
m. in. dodaj(przedmiot), ocen(przedmiot,student,ocena).

Asystent:
Pola: nazwisko, pesel, realizowane przedmioty.
Metody:
m. in. dodaj(przedmiot), ocen(przedmiot,student,ocena).
 
Przedmiot:
Pola: nazwa,
unikalny numer, wykładowca, asystenci, studenci.
Metody: dodajWykladowce(wykladowca), dodajAsystenta(asystent), dodajStudenta(student), usunWykladowce(wykladowca), usunAsystenta(asystent), usunStudenta(student).

Dziekanat: Główna klasa testująca.

Program należy zaprojektować tak, aby ułatwić ewentualne modyfikacje w przyszłości.