Co to jest wymaganie niefunkcjonalne w inżynierii oprogramowania?
Co to jest wymaganie niefunkcjonalne?
Wymaganie niefunkcjonalne (NFR) określa atrybut jakości systemu oprogramowania. Oceniają system oprogramowania na podstawie responsywności, użyteczności, bezpieczeństwa, przenośności i innych niefunkcjonalnych standardów, które są krytyczne dla powodzenia systemu oprogramowania. Przykład wymagania niefunkcjonalnego, „Jak szybko ładuje się witryna?” Niespełnienie wymagań niefunkcjonalnych może skutkować powstaniem systemów, które nie zaspokoją potrzeb użytkownika.
Wymagania niefunkcjonalne w inżynierii oprogramowania pozwalają na nałożenie ograniczeń lub restrykcji na projekt systemu w różnych zwinnych backlogach. Na przykład witryna powinna załadować się w ciągu 3 sekund, gdy liczba jednoczesnych użytkowników jest > 10000. Descriptuwzględnienie wymagań niefunkcjonalnych jest tak samo istotne jak wymaganie funkcjonalne.
Rodzaje wymagań niefunkcjonalnych
Poniżej znajdują się główne typy wymagań niefunkcjonalnych:
- Wymóg użyteczności
- Wymóg użyteczności
- Wymóg możliwości zarządzania
- Wymóg możliwości odzyskania
- Wymóg bezpieczeństwa
- Dane Integrity wymaganie
- Wymagana pojemność
- Wymóg dostępności
- Wymóg skalowalności
- Wymagania interoperacyjności
- Wymóg niezawodności
- Wymóg konserwacji
- Wymóg prawny
- Wymagania środowiskowe
Przykłady wymagań niefunkcjonalnych
Oto kilka przykładów wymagań niefunkcjonalnych:
- Użytkownicy muszą zmienić pierwotnie przypisane hasło logowania natychmiast po pierwszym udanym logowaniu. Co więcej, inicjału nigdy nie należy używać ponownie.
- Pracownikom nigdy nie wolno było aktualizować informacji o swoich wynagrodzeniach. Próbę taką należy zgłosić administratorowi bezpieczeństwa.
- Każda nieudana próba dostępu użytkownika do danych jest rejestrowana w ścieżce audytu.
- Strona internetowa powinna być w stanie obsłużyć 20 milionów użytkowników, co będzie miało wpływ na jej wydajność
- Oprogramowanie powinno być przenośne. Zatem przejście z jednego systemu operacyjnego na inny nie stwarza żadnego problemu.
- Należy kontrolować prywatność informacji, eksport technologii objętych ograniczeniami, prawa własności intelektualnej itp.
Wymagania funkcjonalne i niefunkcjonalne
Poniżej przedstawiono główną różnicę pomiędzy wymaganiami funkcjonalnymi i niefunkcjonalnymi:
Parametry | Wymagania funkcjonalne | Wymaganie niefunkcjonalne |
---|---|---|
Co to jest? | Czasownik | Atrybuty |
Wymaganie | Jest to obowiązkowe | Nie jest to obowiązkowe |
Typ przechwytywania | Jest przechwytywany w przypadku użycia. | Jest on ujęty jako atrybut jakości. |
Wynik końcowy | funkcja produktu | Właściwości produktu |
Przechwytywanie | Łatwe do uchwycenia | Trudno uchwycić |
Cel | Pomaga zweryfikować funkcjonalność oprogramowania. | Pomaga zweryfikować działanie oprogramowania. |
Obszar zainteresowania | Skoncentruj się na wymaganiach użytkownika | Koncentruje się na oczekiwaniach użytkownika. |
Dokumenty | Opisz działanie produktu | Opisuje działanie produktu |
Rodzaj testu | Testy funkcjonalne jak system, integracja, kompleksowe, testowanie API itp. | Testy niefunkcjonalne, takie jak testy wydajności, obciążenia, użyteczności, testów bezpieczeństwa itp. |
Wykonanie testu | Wykonanie testu odbywa się przed testami niefunkcjonalnymi. | Po testach funkcjonalnych |
Informacje o produkcie | cechy produktu | Właściwości produktu |
Zalety wymagań niefunkcjonalnych
Korzyści/zalety Testy niefunkcjonalne należą:
- Wymagania niefunkcjonalne zapewniają, że system oprogramowania działa zgodnie z zasadami prawa i zgodności.
- Zapewniają niezawodność, dostępność i wydajność systemu oprogramowania
- Zapewniają dobre doświadczenia użytkownika i łatwość obsługi oprogramowania.
- Pomagają w formułowaniu polityki bezpieczeństwa systemu oprogramowania.
Wady wymagań niefunkcjonalnych
Wady/wady wymogu braku funkcji to:
- Żadne wymagania funkcjonalne nie mogą mieć wpływu na różne podsystemy oprogramowania wysokiego poziomu
- Wymagają one szczególnej uwagi na etapie projektowania architektury oprogramowania/wysokiego poziomu, co zwiększa koszty.
- Ich wdrożenie zwykle nie jest powiązane z konkretnym podsystemem oprogramowania,
- Trudno modyfikować coś niefunkcjonalnego, gdy już przejdziesz fazę architektury.
KLUCZOWA NAUKA
- NFR oznacza: Wymaganie niefunkcjonalne definiuje atrybut wydajności systemu oprogramowania.
- Jakie są rodzaje zachowań niefunkcjonalnych: skalowalność, dostępność, niezawodność, odtwarzalność, dane Integrity, itp.
- Jednym z przykładów NFR jest to, że pracownikom nigdy nie wolno aktualizować informacji o swoich wynagrodzeniach. Próbę taką należy zgłosić administratorowi bezpieczeństwa.
- Wymaganie funkcjonalne jest czasownikiem, a wymaganie niefunkcjonalne jest atrybutem
- Zaletą wymogu niefunkcjonalnego jest to, że pomaga on zapewnić dobre wrażenia użytkownika i łatwość obsługi oprogramowania.
- Największą wadą wymagania niefunkcjonalnego jest to, że może wpływać na różne podsystemy oprogramowania wysokiego poziomu.