Co to jest wymaganie funkcjonalne w inżynierii oprogramowania?

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 to nic innego jak dane wejściowe systemu oprogramowania, jego 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 są również nazywane Specyfikacja funkcjonalna.

W inżynierii oprogramowania i inżynierii systemów wymaganie funkcjonalne może obejmować zarówno abstrakcyjne stwierdzenie wysokiego poziomu konieczności nadawcy, jak i szczegółowe matematyczne specyfikacje wymagań funkcjonalnych. Funkcjonalne oprogramowanie wymagania pomagają uchwycić zamierzone zachowanie systemu.

Co powinno znaleźć się w dokumencie wymagań funkcjonalnych?

Oto jak napisać dokument wymagań funkcjonalnych:

Przykładowe wymagania funkcjonalne
Przykładowe wymagania funkcjonalne

Wymagania funkcjonalne systemu powinny obejmować następujące elementy:

  • Szczegóły operacji przeprowadzanych na każdym ekranie
  • Do systemu należy wprowadzić logikę obsługi danych
  • Powinien zawierać opisy raportów systemowych lub innych wyników
  • Pełna informacja o przepływach pracy realizowanych przez system
  • Powinno jasno określać, kto będzie mógł tworzyć/modyfikować/usuwać dane w systemie
  • W dokumencie funkcjonalnym należy opisać, w jaki sposób system będzie spełniać obowiązujące wymagania regulacyjne i dotyczące zgodności

Korzyści z 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.
  • Wspieraj cele, zadania i działania użytkowników

Rodzaje wymagań funkcjonalnych

Oto najpopularniejsze typy wymagań funkcjonalnych:

  • Obsługa transakcji
  • Zasady biznesowe
  • Wymagania certyfikacyjne
  • Wymagania dotyczące raportowania
  • Funkcje administracyjne
  • Poziomy autoryzacji
  • Śledzenie audytu
  • Interfejsy zewnętrzne
  • Zarządzanie danymi historycznymi
  • Wymagania prawne i regulacyjne

Przykład wymagań funkcjonalnych

Poniżej znajdują się popularne przykłady wymagań funkcjonalnych:

  • 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.

Wymagania niefunkcjonalne a wymagania funkcjonalne

Oto kluczowe różnice między wymaganiami funkcjonalnymi i niefunkcjonalnymi w 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 odbywa się przed testami niefunkcjonalnymi. Po testach funkcjonalnych
Informacje o produkcie cechy produktu Właściwości produktu

Najlepsza praktyka dotycząca wymagań funkcjonalnych

Ważna najlepsza praktyka dotycząca opracowywania dokumentu wymagań funkcjonalnych jest następująca:

  • Nie łącz dwóch wymagań w jedno. Zachowaj szczegółowość wymagań.
  • Każde wymaganie powinno być jak najbardziej kompletne i dokładne.
  • Dokument powinien zawierać wszystkie wymagania techniczne.
  • Powiąż wszystkie wymagania z celami i zasadami, które przyczyniają się do pomyślnego dostarczenia oprogramowania
  • Pozyskuj wymagania za pomocą rozmów kwalifikacyjnych, warsztatów i swobodnej komunikacji.
  • Jeśli istnieje jakieś znane, zweryfikowane ograniczenie, które w istotny sposób wpływa na wymaganie, jest to stan krytyczny, który należy udokumentować.
  • Konieczne jest udokumentowanie wszystkich założeń w dokumencie.

Błędy przy tworzeniu wymagania funkcjonalnego

Oto kilka typowych błędów popełnianych podczas tworzenia dokumentu wymagań funkcjonalnych:

  • Umieszczanie nieuzasadnionych dodatkowych informacji, które mogą dezorientować programistów
  • Nie podanie wystarczających szczegółów w dokumencie wymagań.
  • Dodajesz reguły lub przykłady, stwierdzenia dotyczące zakresu lub cele, cokolwiek z wyjątkiem samego wymagania.
  • Pominąłem ważną informację, która jest absolutnie niezbędna do pełnego, dokładnego i ostatecznego określenia wymagania.
  • Niektórzy profesjonaliści zaczynają bronić udokumentowanych wymagań, gdy wymaganie zostaje zmodyfikowane, zamiast szukać właściwej prawdy.
  • Wymagania, które nie są powiązane z celem lub zasadą.

NAJWAŻNIEJSZE WNIOSKI

  • Wyjaśnij wymagania funkcjonalne w inżynierii oprogramowania: Wymagania funkcjonalne definiują system lub jego komponenty
  • Dokument Wymagań Funkcjonalnych powinien zawierać logikę obsługi danych oraz pełną informację o przepływach pracy realizowanych przez system
  • Wymagania funkcjonalne wraz z analizą wymagań pomagają zidentyfikować brakujące wymagania
  • Korekty, korekty i anulowanie transakcji, Reguły biznesowe, Wymagania certyfikacyjne, Wymagania 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
  • Dobrą praktyką jest nie łączenie dwóch wymagań w jeden. Zachowaj szczegółowość wymagań.
  • Należy unikać umieszczania w dokumencie wymagań funkcjonalnych nieuzasadnionych dodatkowych informacji, które mogą dezorientować programistów. Aby zrozumieć, jak te wymagania przekładają się na rzeczywiste procedury testowania, warto zapoznać się z tym przewodnikiem testy funkcjonalności.