Wymagania funkcjonalne i niefunkcjonalne
Kluczowa różnica między wymaganiami funkcjonalnymi i niefunkcjonalnymi
- Wymaganie funkcjonalne definiuje system lub jego komponent, podczas gdy wymaganie niefunkcjonalne definiuje atrybut wydajnościowy systemu oprogramowania.
- Wymagania funkcjonalne wraz z analizą wymagań pomagają zidentyfikować brakujące wymagania, natomiast zaletą wymagań niefunkcjonalnych jest to, że pomagają one zapewnić dobre wrażenia użytkownika i łatwość obsługi oprogramowania.
- Wymaganie funkcjonalne jest czasownikiem, a wymaganie niefunkcjonalne jest atrybutem
- Rodzaje wymagań niefunkcjonalnych to skalowalność, dostępność, niezawodność, odtwarzalność i dane Integrityitp., podczas gdy korekty, dostosowania i anulowanie transakcji, Reguły biznesowe, Wymogi certyfikacyjne, Wymogi dotyczące raportowania, Funkcje administracyjne, Poziomy autoryzacji, Śledzenie audytu, Interfejsy zewnętrzne, Zarządzanie danymi historycznymi, Wymagania prawne lub regulacyjne to różne rodzaje wymagań funkcjonalnych.

Co to jest wymaganie funkcjonalne?
W inżynierii oprogramowania a Wymagania funkcjonalne definiuje system lub jego komponent. Opisuje funkcje, jakie musi spełniać oprogramowanie. Funkcja to nic innego jak dane wejściowe, jej zachowanie i dane wyjściowe. Może to być obliczenie, manipulacja danymi, proces biznesowy, interakcja z użytkownikiem lub dowolna inna specyficzna funkcjonalność, która określa, jaką funkcję prawdopodobnie będzie pełnił system.
Wymagania funkcjonalne w inżynierii oprogramowania pomagają uchwycić zamierzone zachowanie systemu. To zachowanie można wyrazić jako funkcje, usługi lub zadania lub to, jaki system ma wykonać.
Co to jest wymaganie niefunkcjonalne?
A wymaganie niefunkcjonalne definiuje atrybut jakości systemu oprogramowania. Reprezentują zbiór standardów używanych do oceny konkretnego działania systemu. Na przykład, jak szybko ładuje się strona internetowa?
Wymaganie niefunkcjonalne jest niezbędne do zapewnienia użyteczności i efektywności całego systemu oprogramowania. Niespełnienie wymagań niefunkcjonalnych może skutkować powstaniem systemów, które nie zaspokoją potrzeb użytkownika.
Wymagania niefunkcjonalne 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.
Przykład wymagań funkcjonalnych
Oto kilka przykładów wymagań funkcjonalnych w inżynierii oprogramowania:
- Oprogramowanie automatycznie sprawdza klientów w oparciu o system zarządzania kontaktami ABC
- System Sprzedaży powinien umożliwiać użytkownikom rejestrację sprzedaży klientów
- Kolor tła wszystkich okien w aplikacji będzie niebieski i będzie miał wartość szesnastkową RGB 0x0000FF.
- Tylko pracownicy na szczeblu kierowniczym mają prawo przeglądać dane o przychodach.
- System oprogramowania powinien być zintegrowany z bankowym API
- System oprogramowania powinien przejść Sekcja 508 wymóg dostępności.
Przykłady wymagań niefunkcjonalnych
Oto kilka przykładów wymagań niefunkcjonalnych w inżynierii oprogramowania:
- 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.
Różnica między wymaganiami funkcjonalnymi i niefunkcjonalnymi
Poniżej znajduje się główna różnica między wymaganiami funkcjonalnymi i niefunkcjonalnymi w inżynierii oprogramowania:
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, takie jak system, integracja, kompleksowe, Testowanie API, itp. | Testowanie niefunkcjonalne, takie jak wydajność, obciążenie, użyteczność, Testy 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ń funkcjonalnych
Oto zalety/zalety tworzenia typowego dokumentu wymagań funkcjonalnych:
- Pomaga sprawdzić, czy aplikacja udostępnia wszystkie funkcjonalności wymienione w wymaganiach funkcjonalnych tej aplikacji
- Dokument wymagań funkcjonalnych pomaga zdefiniować funkcjonalność systemu lub jednego z jego podsystemów.
- Wymagania funkcjonalne wraz z analizą wymagań pomagają zidentyfikować brakujące wymagania. Pomagają jasno zdefiniować oczekiwaną usługę i zachowanie systemu.
- Błędy wykryte na etapie zbierania wymagań funkcjonalnych są najtańsze do naprawienia.
- Obsługuj cele, zadania lub działania użytkowników w celu łatwego zarządzania projektami
- Wymaganie funkcjonalne można wyrazić w formie przypadku użycia lub historii użytkownika, ponieważ wykazują one widoczne z zewnątrz zachowanie funkcjonalne.
Zalety wymagań niefunkcjonalnych
Korzyści/zalety testowania niefunkcjonalnego w Inżynieria oprogramowania 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.