← Indietro
EsameEsame completoTesto d’esame

esame 2024 01 15 1

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

Anteprima

Prima pagina del documento.

Prima pagina: esame 2024 01 15 1