← Indietro
EsameEsame completoTesto d’esame

20220721

Esame completo di Ingegneria del Software per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Ingegneria del SoftwareEsame completo

Informazioni sul documento

Cosa trovi in questo materiale

Esame completo di Ingegneria del Software per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.

Contenuti estratti dal documento

Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.

Pagina 1

Ingegneria del Software — Soluzione del Tema 21/07/2022 Esercizio 1 Si vuole progettare un’applicazione Java per gestire aste online. A tale scopo, si `e specificata la classe AuctionManager, riportata pi `u avanti (molto semplificata rispetto alla realt `a, p.es. nella gestione delle scadenze o nel tracciamento dei partecipanti). Ad ogni cliente `e associato un customer id univoco e segreto (modellato per semplicit`a con un long), con cui i clienti possono sia vendere che fare offerte. La gestione dei clienti `e gestita da classi opportune, che sono ignorate qui. Per mettere in vendita un oggetto, si deve passare al metodo addItem un oggetto della classe immutabile Item, oltre al customer id del venditore. `E responsabilit`a del venditore creare e descrivere l’oggetto corrispondente, tramite i metodi della classe Item (in gran parte ignorati qui): public /*@ pure @ */ class Item { public Item(long sellerId, ...altri parametri ignorati) ...altri metodi ignorati //restituisce il customer id di chi ha creato l’oggetto public long sellerId(); // Restituisce la base d’asta per l’item public double getStartingPrice(); } public class AuctionManager { // Costruisce un gestore di aste, senza ancora alcun oggetto in vendita. public AuctionManager(); // Il cliente con codice sellerId mette in vendita l’oggetto item, non ancora messo in asta, // Se l’item corrisponde ad un oggetto gia’ in asta, rilancia WrongItemException; public void addItem(Item item, long sellerId) throws WrongItemException; // Il venditore con sellerId che ha messo in vendita l’oggetto item, accetta // la migliore offerta corrente. Il metodo ritorna la migliore offerta corrente // e ritira (rimuove) l’oggetto dall’asta. // Se non vi sono state offerte, lancia eccezione NoBidException. // WrongItemException e’…

Anteprima

Prima pagina del documento.

Prima pagina: 20220721