Informazioni sul documento
- Università
- Politecnico di Milano
- Corso di laurea
- Computer Engineering
- Materia
- Ingegneria del Software
- Classificazione
- Esame · Esame completo
- Contenuto
- Testo d’esame
- Formato originale
- Testo
- Testo ricercabile
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.
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.
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.
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…
Prima pagina del documento.