← Back
ExamFull examExam paper onlyItalian

20220721

Study material for Ingegneria del Software, shared by the Studwiz community and reviewed by moderators.

Ingegneria del SoftwareFull exam

Document information

What's included in this study material

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.

Extracted content from the 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.

Page 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’…

Preview

First page of the document.

First page: 20220721