Accademia 1
Requisiti
I dati di interesse per il sistema sono i docenti universitari, i progetti di ricerca e le attività dei docenti.
Di ogni docente interessa conoscere il nome, il cognome, la data di nascita, la matricola, la posizione universitaria (ricercatore, professore associato, professore ordinario) e i progetti ai quali partecipa.
Dei progetti interessa il nome, un acronimo, la data di inizio, la data di fine e i docenti che vi partecipano.
Un progetto è composto da molti Work Package (WP). Oltre al progetto a cui fa riferimento, del WP interessa sapere il nome, la data di inizio e la data di fine.
Il sistema deve permettere ai docenti di registrare impegni di diverso tipo.
Degli impegni interessa sapere il giorno in cui avvengono, la durata in ore e la tipologia di impegno con relativa motivazione.
Devo mettere gli ID!
Docenti
- nome
- cognome
- data di nascita
- matricola {id}
- posizione universitaria
- ricercatore
- professore associato
- professore ordinario
- progetti a cui partecipa (più di 1)
- impegni (più di 1?)
Progetti di ricerca
- nome
- acronimo [A-Z]{10}? {id?}
- data inizio
- data fine (opzionale? [0..1])
- i docenti che vi partecipano (più di 1)
Work Package
- nome
- progetto di cui fanno parte
- data inizio
- data fine (opzionale? [0..1])
Attività
- impegni di diverso tipo?
- giorno
- durata in ore
- motivazione
Tipologia
- Mi aspetto che il professore scelga la tipologia da un elenco prefissato dall'università, quindi lo tengo in una classe separata
UML
classDiagram
class Docente {
nome: Stringa
cognome: Stringa
data_di_nascita: Data
posizione: ["ricercatore", "professore associato", "professore ordinario"]
}
Docente : matricola: [A-Z0-9]{10} {id}
class Docente["Docente 👨🏫"]
class Progetto {
acronimo: [A-Z]+
}
class Progetto["Progetto di ricerca 🏗️"]
class WP {
nome: Stringa
data_inizio: Data
data_fine: Data [0..1]
}
class WP["Work Package 📦"]
class Attivita {
giorno: Data,
durata_ore: intero > 0,
}
class Attivita["Attività ⌚"]
class Tipologia {
nome: Stringa
}
Docente "0..*" -- "0..*" Progetto : partecipa_a
Docente "1..1" -- "0..*" Attivita : ha_un
WP "0..*" -- "1..1" Progetto : fa_parte_di
WP <|-- Progetto
Attivita "0..*" -- "1..1" Tipologia : di_tipo `(motivazione Stringa)`