Wymagania funkcjonalne i niefunkcjonalne

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Wymagania określają, co system ma robić oraz jakie cechy jakościowe ma spełniać. Ich szczegółowy opis powstaje przede wszystkim na etapie analizy projektu, ponieważ wtedy poznaje się potrzeby użytkowników, klienta i ograniczenia systemu.

Wymagania funkcjonalne

Wymagania funkcjonalne opisują konkretne funkcje aplikacji, czyli zachowania systemu widoczne dla użytkownika lub innych systemów.

Przykłady:
- użytkownik może się zalogować,
- administrator może dodać nowy produkt,
- system generuje raport sprzedaży,
- aplikacja wysyła e-mail z potwierdzeniem zamówienia.

Można je zapisać w formie przypadków użycia, historyjek użytkownika albo listy funkcji.

Wymagania niefunkcjonalne

Wymagania niefunkcjonalne opisują cechy jakościowe systemu. Nie mówią bezpośrednio, jaką funkcję wykonuje aplikacja, ale określają warunki jej działania.

Przykłady:
- system powinien działać 24/7,
- czas odpowiedzi nie powinien przekraczać 2 sekund,
- aplikacja ma być zgodna z RODO,
- interfejs powinien być responsywny,
- dane użytkowników muszą być szyfrowane.

Znaczenie w projekcie

Poprawne określenie wymagań zmniejsza ryzyko błędów projektowych. Jeśli wymagania są niejasne, zespół może stworzyć system niezgodny z oczekiwaniami klienta. Dlatego etap analizy jest kluczowy przed projektowaniem, implementacją, testowaniem i wdrożeniem.