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:
ITransaction
Reprezentuje pojedynczą transakcję. Może zawierać metody takie jak startTransaction()
, addItem(Item item)
, finalizeTransaction()
.
Item
Reprezentuje 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.Receipt
Reprezentuje paragon/fakturę. Zawiera:
List<Item> items
– lista produktów/usług na paragonie.double totalPrice
– łączna wartość paragonu.DateTime date
– data i czas transakcji.IPayment
Reprezentuje płatność. Może zawierać metody takie jak processPayment(double amount)
.
CashPayment
implementująca IPayment
Reprezentuje płatność gotówką. Zawiera implementację metody processPayment
.
CardPayment
implementująca IPayment
Reprezentuje płatność kartą. Zawiera implementację metody processPayment
.
Transaction
implementująca ITransaction
Reprezentuje realizację transakcji. Zawiera:
Receipt receipt
– paragon/faktura.IPayment paymentMethod
– metoda płatności.ITransaction
.CashRegister
Główna klasa symulująca kasę fiskalną. Zawiera:
List<Transaction> transactions
– historia transakcji.IUserInterface
Reprezentuje interfejs użytkownika. Może zawierać metody do wyświetlania menu, przyjmowania wejść od użytkownika itp.
ConsoleInterface
implementująca IUserInterface
Reprezentuje 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.