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)`