Document information
- University
- Politecnico di Milano
- Degree programme
- Computer Engineering
- Subject
- Ingegneria del Software
- Material language
- Italian
- Classification
- Exam · Full exam
- Content
- Exam paper only
- Original format
- Text
- Searchable text
Study material for Ingegneria del Software, shared by the Studwiz community and reviewed by moderators.
Study material for Ingegneria del Software, shared by the Studwiz community and reviewed by moderators.
Import quality: text was extracted directly from the original document.
Representative passages recognised in different parts of the material. The full extracted text remains available to search, while this compact preview makes the page easier to read.
Ingegneria del Software — Soluzione del Tema 02/02/2024 Esercizio 1 Si consideri la seguente classe MeetingManager per gestire meeting. Gli utenti possono registrare un nuovo mee- ting con il metodo registerMeeting, possono indicare le date in cui sono disponibili per un meeting con il metodo setAvailableDates, possono infine chiudere un meeting con il metodoclose, ottenendo le date in ordine di disponibilit`a (da quella in cui pi`u persone sono disponibili a quella in cui meno persone sono disponibili). public class MeetingManager { // Ritorna gli identificativi univoci di tutti i meeting registrati e non ancora chiusi. public /*@ pure @ */ Set<Long> getOpenMeetings() { .. } // Ritorna il numero di preferenze espresse per ogni data per il meeting avente identificativo id. // Quando il meeting viene inizialmente registrato, tutte le date hanno disponibilita’ 0. // Ritorna una mappa vuota se non esiste un meeting aperto (registrato e non chiuso) con identificativo id. public /*@ pure @ */ Map<Date, Integer> getAvailability( long id); // Registra un nuovo meeting, impostando come date possibili per il meeting quelle // passate come parametro. Ritorna l’identificativo univoco del meeting. public long registerMeeting(Set<Date> possibleDates); // Indica le date in cui l’utente e’ disponibile per il meeting avente identificativo id. // Lancia una InvalidRequestException se non esiste un meeting aperto con identificativo id, oppure // se alcune delle date indicate non sono tra quelle possibili per il meeting. public void setAvailableDates(long id, Set<Date> availableDates) throws InvalidRequestException; // Chiude il meeting con identificativo id, ritornando la lista di date possibili // in ordine di disponibilita’ (da quella in cui piu’ persone sono disponibili a quella in…
First page of the document.