Centrum wiedzy o technologiach i pracy w IT
wymagania niefunkcjonalne

Wymagania niefunkcjonalne – czym są?

Ostatnia aktualizacja 27 lutego, 2023

W projektach dotyczących wytwarzania oprogramowania określa się wymagania funkcjonalne i niefunkcjonalne. Dziś zajmiemy się tymi drugimi. Wymagania niefunkcjonalne są równie istotne co wymagania funkcjonalne, a ich określenie jest kluczowe dla zapewnienia optymalnej jakości oprogramowania. 

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy w każdy wtorek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co tydzień

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Sprawdź: Data Scientist – zarobki

Wymagania niefunkcjonalne – definicja

Ten rodzaj wymagań dotyczy sposobu działania aplikacji, ale nie jego funkcji. Dopóki aplikacja działa bez zarzutu, użytkownicy nie zwracają na nie większej uwagi. Użytkownik oczekuje, że aplikacja lub program będzie zachowywać się nieawaryjnie i wydajnie.

Przykłady wymagań niefunkcjonalnych

Wydajność – użytkownik korzystający z aplikacji oczekuje natychmiastowej reakcji programu na jego działania. W przypadku opóźnień pogarszają się wrażenia wynikające z obcowania z aplikacją, co wpływa negatywnie na przepływ pracy.

Kompatybilność – niektóre aplikacje muszą współpracować z innymi programami lub systemami w oparciu o konkretne wytyczne. W skład tego wymagania wchodzą: rodzaj systemów, sposoby komunikacji oraz zakres wymienianych informacji.

Użyteczność – wygląd oraz intuicyjność użytkowania aplikacji to ważne kwestie nie tylko z perspektywy łatwości obsługi programu, ale także poprawności wyświetlania na różnych urządzeniach. Pod uwagę bierze się projekt graficzny wraz z kolorystyką, rodzajem fontu i rozmieszczeniem elementów odpowiedzialnych za wywołanie funkcji.

Bezpieczeństwo – praca z danymi wprowadzonymi przez użytkowników wymaga odpowiednich zabezpieczeń. Wszelkie informacje muszą być przechowywane w bezpiecznej formie. Dostęp do nich musi być ograniczony, a przesył lub wymiana danych musi się odbywać z wykorzystaniem bezpiecznych protokołów.

Możliwość skalowania – oprogramowanie lub system muszą być zaprojektowane w taki sposób, aby późniejsze powiększanie liczby użytkowników lub obsługiwanych danych nie wpływało negatywnie na sposób działania aplikacji. Rozbudowa infrastruktury powinna dać możliwość zwiększania przepustowości systemu.

Zobacz: Monitor do 500 zł

Podział wymagań niefunkcjonalnych

Oprócz wymagań niefunkcjonalnych związanych z aplikacją, istnieją również wymagania niefunkcjonalne związane z firmą i otoczeniem systemowym. 

W kontekście firmy będą to wszelkie wymagania wynikające ze strategii biznesowej, kultury firmowej, wartości i standardów oraz jej organizacji.

W przypadku otoczenia systemowego chodzi o wszelkie czynniki zewnętrzne, czyli wymagania prawne, etyczne, interakcje z innym oprogramowaniem oraz kwestie bezpieczeństwa.

Wymagania niefunkcjonalne w praktyce

W wielu współczesnych projektach programistycznych stosuje się zwinne metody wytwarzania oprogramowania. W metodach tradycyjnych tworzenie oprogramowania składa się z faz projektowania, tworzenia programu oraz utrzymania, a fazy te następują ściśle po sobie. Ponieważ w metodach zwinnych ceniony jest krótki czas wprowadzania zmian, powstała metodyka DevOps.

Jest to zbiór praktyk stosowanych podczas wytwarzania oprogramowania, których celem jest zniwelowanie bariery pomiędzy zespołami tworzącymi programy, a zespołami wdrażającymi je w środowisku produkcyjnym. Dzięki stosowaniu tej metodologii możliwe jest uzyskiwanie informacji zwrotnej w szybkim tempie, a następnie wprowadzanie poprawek lub zmian w kodzie poprawiających jakość działania programu.

Total
0
Shares
_podobne artykuły