Lista na lab – pdf.
Teoria na lab – pdf.
Przykładowe zestawy (ISI2, ISI5):
Przykładowe zestawy (ISI4, IO-powt., ISI-powt. – bez kolekcji):
Lista na lab – pdf.
Na podstawie wymagań funkcjonalnych i niefunkcjonalnych dla aplikacji konsolowej symulującej działanie kasy fiskalnej, można zaprojektować następujący układ klas, rekordów i interfejsów:
ITransactionReprezentuje pojedynczą transakcję. Może zawierać metody takie jak startTransaction(), addItem(Item item), finalizeTransaction().
ItemReprezentuje pojedynczy produkt lub usługę. Zawiera pola takie jak:
String name – nazwa produktu/usługi.double price – cena produktu/usługi.String category – kategoria produktu/usługi.ReceiptReprezentuje paragon/fakturę. Zawiera:
List<Item> items – lista produktów/usług na paragonie.double totalPrice – łączna wartość paragonu.DateTime date – data i czas transakcji.IPaymentReprezentuje płatność. Może zawierać metody takie jak processPayment(double amount).
CashPayment implementująca IPaymentReprezentuje płatność gotówką. Zawiera implementację metody processPayment.
CardPayment implementująca IPaymentReprezentuje płatność kartą. Zawiera implementację metody processPayment.
Transaction implementująca ITransactionReprezentuje realizację transakcji. Zawiera:
Receipt receipt – paragon/faktura.IPayment paymentMethod – metoda płatności.ITransaction.CashRegisterGłówna klasa symulująca kasę fiskalną. Zawiera:
List<Transaction> transactions – historia transakcji.IUserInterfaceReprezentuje interfejs użytkownika. Może zawierać metody do wyświetlania menu, przyjmowania wejść od użytkownika itp.
ConsoleInterface implementująca IUserInterfaceReprezentuje konsolowy interfejs użytkownika. Zawiera implementację metod z IUserInterface.
CashRegister tworzy i zarządza Transaction.Transaction używa Item, Receipt i implementacji IPayment.CashRegister komunikuje się z użytkownikiem przez ConsoleInterface.Zadanie #1:
Zadanie #2:
Zadanie #3:
Zadanie: #4
Zadanie: #5
Zadanie: #6
Lista na lab – pdf.
Lista na lab – pdf.
Nie wszystkie zestawy są 1:1. Nie zostały dołączone do plików erraty. W razie pytań, proszę o kontakt mailowy lub na priv w MS Teams.