Università 1
Requisiti
I dati di interesse per il sistema sono studenti, facoltà, professori e corsi.
-
Di ogni studente interessa conoscere il nome, il codice fiscale, il numero di matricola, la data di nascita, il luogo di nascita (città e regione), il corso di laurea a cui è iscritto (con l’anno di iscrizione), e gli insegnamenti di cui ha superato l’esame.
-
Dei professori interessa il nome, la data di nascita, il codice fiscale, il luogo di nascita e gli insegnamenti erogati.
-
Dei corsi di laurea interessa il nome e la o le facoltà di appartenenza. Di queste ultime interessa il nome.
-
Di ogni insegnamento interessa il codice, il nome, il numero di ore di lezione, e i corsi di laurea a cui appartiene.
Studente
- nome ("Paperopoli" pare lecito qui)
- codice fiscale (nome [A-Z]{3}, cognome [A-Z]{3}, anno [0-9]{2}, mese [A-Z]{1}, giorno [0-9]{2}, comune [A-Z][0-9]{3}, codice_controllo [A-Z]) per pedanti
- matricola (Stringa [0-9]{7})
- data di nascita (all my fellas be born after 1400?)
- luogo di nascita
- corso di laurea a cui è iscritto con anno di iscrizione (all my fellas be iscritti a più di un corso di laurea, ovvero 2 lo dice il Gov)
- insegnamenti superati con voto
(prima account su infostud, e solo dopo iscrizione ad un corso)
Insegnamento
- codice 100000..999999
- nome
- corsi di appartenenza
- ore di lezione intero > 0
Corso
- nome
- facoltà di appartenenza
Facoltà
- nome
Professore
- nome ("X Æ A-12" pare lecito qui)
- codice fiscale (stessa pappardella di sopra)
- data di nascita
- luogo di nascita
- insegnamenti erogati
UML
classDiagram class Studente { nome: Stringa codice_fiscale: [A-Z]3[A-Z]3[0-9]2[A-Z][0-9]2[A-Z][0-9]3[A-Z] matricola: Stringa [0-9]7 data_di_nascita: Data } class Citta { nome: Stringa } class Citta["Città"] class Regione { nome: Stringa codice: [A-Z]2 } class Corso { nome: Stringa } class Insegnamento { codice: (codice_insegnamento: 100000..999999) nome: Stringa ore_di_lezione: intero >= 1 } class Facolta { nome: Stringa } class Facolta["Facoltà"] class Professore { nome: Stringa data_di_nascita: Data codice_fiscale: [A-Z]3[A-Z]3[0-9]2[A-Z][0-9]2[A-Z][0-9]3[A-Z] } Citta "0..*" -- "1..1" Regione : sta in Studente "0..*" -- "1..1" Citta : nato a Studente "0..*" -- "0..2" Corso : iscritto a Studente "" -- "" Insegnamento : superato (voto 18..30, e la lode?) Insegnamento "0..*" -- "0..*" Corso : in (potrei considerare 21..* a sinistra? Nah, la magistrale ne avra' di meno) Corso "0..*" -- "1..1" Facolta : appartiene a Professore "1..1" -- "0..*" Insegnamento : insegna