print
A A A

Klasyfikacja wymagań

Z punktu widzenia rodzaju wymagań można je podzielić na:

  • wymagania funkcjonalne – dotyczące tego co ma realizować system; jakie ma spełniać funkcje, jakich dostarczać usług, jak zachowywać się w określonych sytuacjach
  • wymagania niefunkcjonalne – dotyczące tego jak system powinien realizować swoje zadania; np. wymagania dotyczące koniecznych zasobów, ograniczeń czasowych, niezawodności, bezpieczeństwa, przenośności, współpracy z określonymi narzędziami i środowiskami, zgodności z normami i standardami, a także przepisami prawnymi, w tym dotyczącymi tajności i prywatności, itp.

Wymagania funkcjonalne powinny być:

  • kompletne – opisywać wszystkie usługi żądane od systemu
  • spójne – nie zawierać stwierdzeń sprzecznych

Wymagania niefunkcjonalne dla wielu systemów są co najmniej równie ważne jak wymagania funkcjonalne (np. szybkość działania wyszukiwarki może być równie ważna jak precyzja wyszukiwania)

Niekiedy wymagania niefunkcjonalne na pewnym poziomie szczegółowości stają się wymaganiami funkcjonalnymi na innym poziomie (np. wymagania dotyczące bezpieczeństwa – stopień bezpieczeństwa może przekształcić się w konieczność realizowania pewnych funkcji związanych z bezpieczeństwem)

Wymagania niefunkcjonalne mogą dotyczyć nie tylko końcowego produktu jakim jest oprogramowanie, ale także samego procesu wytwarzania oprogramowania

Ważnym przykładem specyficznej grupy wymagań są wymagania dotyczące zabezpieczania systemu. Obejmują one wymagania:

  • identyfikacji użytkowników
  • autentykacji użytkowników
  • autoryzacji
  • wykrywania ataków
  • odporności na ataki (wirusów, robaków, itp.)
  • integralności danych (odporność na niszczenie danych)
  • uniemożliwiania zaprzeczaniu uczestnictwa w transakcjach
  • prywatności
  • sprawdzalności zabezpieczeń
  • odporności podsystemu zabezpieczeń na zmiany dokonywane w innych częściach systemu

«Fazy określania wymagań     Odkrywanie wymagań»