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