Przykładowe wymagania funkcjonalne i niefunkcjonalne
Wymagania Funkcjonalne
Interfejs Konsolowy: Aplikacja powinna posiadać prosty interfejs użytkownika w konsoli, który pozwala na wprowadzanie danych produktów i obsługę transakcji.
Wprowadzanie Produktów: Użytkownik powinien mieć możliwość wprowadzenia nazwy produktu, ceny jednostkowej oraz ilości.
Obliczanie Podsumowania: Aplikacja powinna automatycznie obliczać łączną kwotę do zapłaty po wprowadzeniu każdego produktu.
Generowanie Paragonu: Po zakończeniu wprowadzania produktów i potwierdzeniu transakcji, aplikacja powinna generować paragon z listą produktów, ich cenami, łączną kwotą oraz datą i godziną transakcji.
Obsługa Błędów: Aplikacja powinna obsługiwać błędy wprowadzania danych (np. nieprawidłowy format ceny) i wyświetlać odpowiednie komunikaty.
Historia Transakcji: Opcjonalnie, aplikacja może przechowywać historię transakcji do późniejszego wyświetlenia.
Wymagania Niefunkcjonalne
Język Programowania: Aplikacja powinna być napisana w Javie, z minimalnym wykorzystaniem niestandardowych klas z API Javy.
Prostota: Aplikacja powinna być prosta w obsłudze i przeznaczona dla użytkowników bez zaawansowanej wiedzy technicznej.
Wydajność: Aplikacja powinna szybko przetwarzać dane i generować paragony bez znaczących opóźnień.
Skalowalność: Kod powinien być napisany w taki sposób, aby umożliwić łatwe rozszerzenie funkcjonalności aplikacji w przyszłości.
Przenośność: Aplikacja powinna być łatwa do uruchomienia na różnych systemach operacyjnych obsługujących Javę.
Testowalność: Kod powinien być napisany w taki sposób, aby ułatwić testowanie jednostkowe i integracyjne.
Dokumentacja: Aplikacja powinna być dostarczona z dokumentacją, która opisuje jej działanie i sposób użycia.
Bezpieczeństwo: Chociaż aplikacja jest symulatorem, powinna być zaprojektowana z uwzględnieniem podstawowych zasad bezpieczeństwa oprogramowania.