Wymagania funkcjonalne i niefunkcjonalne
Kluczowa różnica między wymaganiami funkcjonalnymi i niefunkcjonalnymi polega na tym, że wymagania funkcjonalne opisują, co system powinien zrobić, podczas gdy wymagania niefunkcjonalne opisują sposób działania systemu.
W inżynierii oprogramowania wymagania dotyczące oprogramowania koncentrują się na potrzebach, które oprogramowanie powinno rozwiązać. Podczas tworzenia oprogramowania pierwszym krokiem jest zebranie wymagań. Jest to jeden z najważniejszych kroków, ponieważ cały produkt zależy od zebranych wymagań. Po zebraniu wymagań są one analizowane i dokumentowane w specyfikacji wymagań oprogramowania (SRS). Wymagania dotyczące oprogramowania można podzielić na dwie sekcje jako Wymagania funkcjonalne i niefunkcjonalne.
Jakie są wymagania funkcjonalne?
Wymagania określające funkcjonalne aspekty oprogramowania są nazywane wymaganiami funkcjonalnymi. Wymagania funkcjonalne zmieniają się w zależności od projektu. Określają funkcjonalności dostarczane przez systemy lub komponenty.
Rysunek 01: Rozwój oprogramowania
Załóżmy system zarządzania szpitalem. Może mieć kilka modułów, takich jak moduł logowania, moduł pacjenta, moduł lekarza, moduł wizyt, moduł raportów i moduł rozliczeń. Moduł logowania powinien pomyślnie zalogować się do systemu po podaniu poprawnej nazwy użytkownika i hasła. Moduł pacjenta powinien zapisywać, edytować i usuwać dane pacjenta. Moduł lekarza powinien zapisywać, edytować i usuwać dane lekarza. Moduł spotkań powinien planować, przestawiać i usuwać spotkania. Moduł raportów powinien generować raporty medyczne. Moduł rozliczeniowy powinien generować rachunki do zapłaty. Oto niektóre wymagania funkcjonalne dla systemu zarządzania szpitalem.
Jakie są wymagania niefunkcjonalne?
Wymagania niezwiązane z funkcjonalnym aspektem oprogramowania należą do kategorii wymagań niefunkcjonalnych. Określają oczekiwane cechy oprogramowania. Użytkownicy mogą dokonywać na ich temat założeń. Wielu użytkowników jest zaniepokojonych spełnieniem wymagań niefunkcjonalnych, zwłaszcza w przypadku dużych systemów.
System zarządzania szpitalem powinien mieć następujące wymagania niefunkcjonalne. Szybkość jest istotnym wymogiem. System powinien przetwarzać dane w minimalnym czasie odpowiedzi. System powinien być bezpieczny. Dostęp do danych powinni mieć tylko upoważnieni użytkownicy. Powinien być łatwy w utrzymaniu. Oprogramowanie powinno być produktem działającym i użytecznym. Dane powinny być wiarygodne i dostępne w razie potrzeby. Dlatego system zarządzania szpitalem powinien mieć wymagania niefunkcjonalne, takie jak wydajność, bezpieczeństwo, łatwość konserwacji, użyteczność, niezawodność i dostępność.
Jaka jest różnica między wymaganiami funkcjonalnymi a niefunkcjonalnymi?
Wymagania funkcjonalne i niefunkcjonalne |
|
Wymagania funkcjonalne to wymagania definiujące funkcje systemu lub jego podsystemów. | Wymagania niefunkcjonalne to wymagania określające kryteria, których można użyć do oceny działania systemu. |
Zastosowanie | |
Wymagania funkcjonalne służą do opisu funkcjonalności systemu. | Wymagania niefunkcjonalne opisują cechy jakościowe systemu lub atrybuty jakościowe. |
Podsumowanie - Wymagania funkcjonalne i niefunkcjonalne
W tym artykule omówiono różnicę między dwiema kategoriami wymagań programowych. Różnica między wymaganiami funkcjonalnymi i niefunkcjonalnymi polega na tym, że wymagania funkcjonalne opisują, co system powinien zrobić, podczas gdy wymagania niefunkcjonalne opisują sposób działania systemu.