W tym artykule:
- Wyjaśnimy, czym są wymagania niefunkcjonalne i jakie aspekty obejmują.
- Przedstawimy przykładowe kategorie i metryki mierzenia wymagań niefunkcjonalnych.
- Omówimy najlepsze praktyki definiowania i dokumentowania tych wymagań.
- Wskażemy typowe błędy i sposoby ich unikania.
Spis treści:
Czym są wymagania niefunkcjonalne aplikacji?
Kategorie wymagań niefunkcjonalnych
Jak dokumentować wymagania niefunkcjonalne?
Typowe błędy w definiowaniu wymagań niefunkcjonalnych
Narzędzia wspierające analizę wymagań niefunkcjonalnych
Czym są wymagania niefunkcjonalne aplikacji?

Wymagania niefunkcjonalne określają ogólne warunki działania aplikacji, których spełnienie wpływa na odbiór systemu przez użytkowników. Jako przykład takiego wymagania można podać konieczność przetwarzania 95% transakcji w czasie krótszym niż 2 sekundy z jednoczesnym szyfrowaniem wszystkich danych transmisyjnych w aplikacji systemu bankowego. Nie ma to wpływu na funkcje samej aplikacji (np. możliwość zrealizowania przelewu lub jej brak), ale na jakość doświadczeń, stabilność i długoterminową niezawodności jak najbardziej.
Przeczytaj także: Tester aplikacji - kto może nim zostać?
Kategorie wymagań niefunkcjonalnych
Celem wymagań niefunkcjonalnych jest zapewnienie bezawaryjności oraz wysokiego komfortu użytkowania, a w grę wchodzą różnorodne aspekty techniczne i użytkowe. Opisuje się je za pomocą metryk, które pozwalają w sposób mierzalny wyrazić, czy aplikacja spełnia wymagania w konkretnych kategoriach. Poniżej przedstawiono ich najważniejsze z nich wraz z praktycznymi przykładami zastosowania.
- Wydajność, która odnosi się do szybkości działania aplikacji i jej efektywności w warunkach dużego obciążenia. Np. przy metryce maksymalnego czasu odpowiedzi serwera (np. ≤ 200 ms dla 95% żądań) aplikacja może obsłużyć 10 000 użytkowników równocześnie bez spadku wydajności.
- Bezpieczeństwo, czyli zabezpieczenie systemu przed nieautoryzowanym dostępem i ochroną danych użytkowników. Np. przy metryce wdrożenia dwupoziomowego uwierzytelniania i 256-bitowego szyfrowania danych program blokuje nieudane próby logowania po podaniu pięciu błędnych haseł.
- Dostępność określa, jak długo system jest dostępny dla użytkowników. Zakładając metrykę czasu dostępności na poziomie ≥ 99,95%, aplikacja działa 24/7 z maksymalnym czasem przestoju wynoszącym 4 godziny rocznie.
- Użyteczność dotyczy intuicyjności i prostoty korzystania z aplikacji. Przyjęta metryka czasu potrzebnego użytkownikowi na ukończenie zadania (np. rejestracji) może wynosić ≤ 3 minuty. Albo: Nowy użytkownik może łatwo znaleźć funkcję wyszukiwania w ciągu 15 sekund.
- Skalowalność oznacza, że system musi być w stanie obsłużyć większe obciążenie bez spadku jakości. Przykładem metryki może być zdolność do obsługi 20% większego ruchu po dodaniu nowego serwera. Aplikacja zwiększa przepustowość w godzinach szczytu.
- Niezawodność to stabilność systemu i częstotliwość awarii. Przyjmując metrykę czasu między awariami ≥ 500 godzin i czas naprawy ≤ 2 godziny, aplikacja jest dostępna przez 99,99% czasu w ciągu roku.
Przeczytaj także: Technologie IT, które nie tracą na popularności

