Co to jest wymaganie funkcjonalne w inżynierii oprogramowania?
⚡ Inteligentne podsumowanie
Wymagania funkcjonalne opisują każdą usługę, jaką musi oferować system oprogramowania, rejestrując dane wejściowe, zachowania i dane wyjściowe, aby programiści, testerzy i interesariusze biznesowi mieli wspólną, weryfikowalną definicję tego, co produkt musi faktycznie robić.
Co to jest wymaganie funkcjonalne?
A Wymagania funkcjonalne (FR) to opis usługi, którą musi oferować oprogramowanie. Opisuje system oprogramowania lub jego komponent. Funkcja jest definiowana przez dane wejściowe, zachowanie i dane wyjściowe. Może to być obliczenie, manipulacja danymi, proces biznesowy lub interakcja użytkownika, która definiuje, co system musi robić. Wymagania funkcjonalne w inżynierii oprogramowania są również nazywane Specyfikacja funkcjonalna.
Wymagania funkcjonalne mogą mieć różny zakres, od potrzeb interesariuszy wysokiego szczebla po szczegółową specyfikację matematyczną. Funkcjonalne oprogramowanie Wymagania odzwierciedlają zamierzone zachowanie systemu.
Co należy uwzględnić w dokumencie wymagań funkcjonalnych
Oto, co powinien obejmować dokument wymagań funkcjonalnych:
Przykładowe wymagania funkcjonalne
Dokument wymagań funkcjonalnych zazwyczaj obejmuje:
- Szczegóły operacji przeprowadzanych na każdym ekranie
- Logika obsługi danych, którą musi zastosować system
- Descriptjonów raportów systemowych i innych wyników
- Pełna informacja o przepływach pracy realizowanych przez system
- Kto ma prawo tworzyć, modyfikować lub usuwać dane w systemie
- W jaki sposób system spełnia obowiązujące wymogi regulacyjne i zgodności
Korzyści z wymagań funkcjonalnych
Główne korzyści płynące z dobrze napisanego dokumentu wymagań funkcjonalnych to:
- Sprawdza, czy aplikacja dostarcza każdą określoną funkcję
- Definiuje funkcjonalność systemu i jego podsystemów w jednym miejscu
- W połączeniu z analizą wymagań wymagania funkcjonalne pomagają zidentyfikować brakujące potrzeby i wyjaśnić oczekiwane zachowanie systemu
- Błędy wykryte na etapie wymagań są najtańsze do naprawienia
- Wspiera cele, zadania i działania użytkownika
Rodzaje wymagań funkcjonalnych
Do powszechnych kategorii wymagań funkcjonalnych należą:
- Obsługa transakcji
- Zasady biznesowe
- Wymagania certyfikacyjne
- Wymagania dotyczące raportowania
- Funkcje administracyjne
- Poziomy autoryzacji
- Audyt Tracking
- Interfejsy zewnętrzne
- Zarządzanie danymi historycznymi
- Wymagania prawne i regulacyjne
Przykłady wymagań funkcjonalnych
Poniżej przedstawiono praktyczne przykłady wymagań funkcjonalnych:
- Oprogramowanie będzie automatycznie weryfikować klientów w systemie ABC Contact Management.
- System sprzedaży ma umożliwiać użytkownikom rejestrowanie sprzedaży klientów.
- Kolor tła wszystkich okien w aplikacji powinien być niebieski z szesnastkową wartością RGB 0x0000FF.
- Prawo wglądu do danych o przychodach mają wyłącznie pracownicy na stanowiskach kierowniczych.
- System oprogramowania musi integrować się z bankowym API.
- System oprogramowania musi spełniać Sekcja 508 wymagania dotyczące dostępności.
Wymagania funkcjonalne i niefunkcjonalne
Oto kluczowe różnice między wymaganiami funkcjonalnymi i niefunkcjonalnymi Inżynieria 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 następuje przed testowaniem niefunkcjonalnym. | Po testach funkcjonalnych |
| Informacje o produkcie | cechy produktu | Właściwości produktu |
Najlepsze praktyki pisania wymagań funkcjonalnych
Oto najważniejsze dobre praktyki dotyczące pisania dokumentu wymagań funkcjonalnych:
- Nie łącz dwóch wymagań w jedno; niech każde wymaganie będzie szczegółowe.
- Zadbaj o to, aby każde wymaganie było tak kompletne i dokładne, jak to tylko możliwe.
- Sporządź dokument zawierający wszystkie wymagania techniczne.
- Dopasuj wszystkie wymagania do celów i zasad, które stanowią podstawę skutecznego dostarczania oprogramowania.
- Zdobądź wymagania poprzez wywiady, warsztaty i nieformalne rozmowy.
- Udokumentuj każde znane, zweryfikowane ograniczenie, które ma istotny wpływ na wymaganie.
- Zapisz każde założenie w dokumencie.
Typowe błędy popełniane podczas pisania wymagań funkcjonalnych
Do typowych błędów popełnianych podczas tworzenia dokumentu wymagań funkcjonalnych należą:
- Dodawanie nieuzasadnionych dodatkowych informacji, które wprowadzają programistów w błąd
- Pominięto szczegóły potrzebne programistom do zbudowania tej funkcji.
- Zasady mieszania, przykłady, scoping oświadczeń lub celów do samego wymogu.
- Pominięcie informacji, które są niezbędne do pełnego i dokładnego przedstawienia wymogu.
- Obrona istniejącego wymogu w momencie otrzymania prośby o zmianę, zamiast znalezienia właściwej odpowiedzi.
- Wymagania dotyczące pisania nie są odniesione do żadnego celu ani zasady.


