← Back
ExamFull examExam paper onlyItalian

esame 2024 01 15 1

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 15/01/2024 Esercizio 1 Si consideri la seguente classe Shop che gestisce l’acquisto di prodotti (Product) online. Un utente (User) pu`o aggiungere prodotti al proprio carrello con il metodo addToCart e infine confermare l’acquisto con il metodocheckout. public class Shop { // Ritorna il numero di pezzi disponibili nello Shop per quel prodotto. public /*@ pure @ */ int getAvailability(Product p) { .. } // Ritorna la lista di prodotti presenti nel carrello per l’utente u (una lista vuota se l’utente u // non ha un suo carrello). // In caso l’utente abbia aggiunto un prodotto al carrello n volte, questo apparira’ n volte nel risultato. public /*@ pure @ */ List<Product> getCart(User u) { .. } // Aggiunge il prodotto p nel carrello dell’utente u (in ultima posizione), riducendo di uno la // disponibilita’ residua del prodotto nello Shop. // Lancia una NotAvailableException se il prodotto non e’ disponibile (ovvero la sua disponibilita’ e’ 0) public void addToCart(User u, Product p) throws NotAvailableException { .. } // Se la carta di credito ha sufficiente credito residuo procede con l’acquisto, // svuotando il carrello per l’utente u e riducendo di conseguenza il credito residuo della carta. // Lancia una InsufficientCreditException se la carta di credito non ha sufficiente credito residuo, // svuotando il carrello per l’utente u e rendendo nuovamente disponibili i prodotti in esso contenuti. public void checkout(User u, CreditCard c) throws InsufficientCreditException { .. } } public /*@ pure @ */ class Product { // Ritorna il prezzo del prodotto public int getPrice() { .. } } public class CreditCard { // Ritorna il credito residuo sulla carta di credito public /*@ pure @ */ int getResidualCredit() { .. } } Domanda a) Si…

Preview

First page of the document.

First page: esame 2024 01 15 1