Przykładowe wymagania funkcjonalne i niefunkcjonalne

Wymagania Funkcjonalne

  1. Interfejs Konsolowy: Aplikacja powinna posiadać prosty interfejs użytkownika w konsoli, który pozwala na wprowadzanie danych produktów i obsługę transakcji.
  2. Wprowadzanie Produktów: Użytkownik powinien mieć możliwość wprowadzenia nazwy produktu, ceny jednostkowej oraz ilości.
  3. Obliczanie Podsumowania: Aplikacja powinna automatycznie obliczać łączną kwotę do zapłaty po wprowadzeniu każdego produktu.
  4. 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.
  5. Obsługa Błędów: Aplikacja powinna obsługiwać błędy wprowadzania danych (np. nieprawidłowy format ceny) i wyświetlać odpowiednie komunikaty.
  6. Historia Transakcji: Opcjonalnie, aplikacja może przechowywać historię transakcji do późniejszego wyświetlenia.

Wymagania Niefunkcjonalne

  1. Język Programowania: Aplikacja powinna być napisana w Javie, z minimalnym wykorzystaniem niestandardowych klas z API Javy.
  2. Prostota: Aplikacja powinna być prosta w obsłudze i przeznaczona dla użytkowników bez zaawansowanej wiedzy technicznej.
  3. Wydajność: Aplikacja powinna szybko przetwarzać dane i generować paragony bez znaczących opóźnień.
  4. Skalowalność: Kod powinien być napisany w taki sposób, aby umożliwić łatwe rozszerzenie funkcjonalności aplikacji w przyszłości.
  5. Przenośność: Aplikacja powinna być łatwa do uruchomienia na różnych systemach operacyjnych obsługujących Javę.
  6. Testowalność: Kod powinien być napisany w taki sposób, aby ułatwić testowanie jednostkowe i integracyjne.
  7. Dokumentacja: Aplikacja powinna być dostarczona z dokumentacją, która opisuje jej działanie i sposób użycia.
  8. Bezpieczeństwo: Chociaż aplikacja jest symulatorem, powinna być zaprojektowana z uwzględnieniem podstawowych zasad bezpieczeństwa oprogramowania.