Co to jest specyfikacja funkcjonalna?
Specyfikacja funkcjonalna opisuje podstawowe funkcje aplikacji. Jest on generalnie opracowywany jako część analizy wymagań w tworzeniu oprogramowania. Służy jako niebieski wydruk dla programistów w celu opracowania kodu źródłowego i przypadków testowych dla aplikacji.
Zasadniczo w analizie wymagań dotyczących opracowywania każdej aplikacji jest zaangażowanych wielu różnych graczy. Tymi graczami są ludzie biznesu, którzy powinni korzystać z oprogramowania, analitycy danych, programiści i pozostały personel techniczny. Przedsiębiorcy wyjaśniają pozostałym członkom zespołu dokładnie, czego oczekują od oprogramowania, z perspektywy biznesowej.
Wymagania biznesowe są łączone z danymi, które należy przechwycić i są wykorzystywane do opracowania sposobu, w jaki zespół chciałby, aby każdy ekran działał. Wszystkie powyższe analizy wymagań muszą zostać zakończone w celu udokumentowania specyfikacji funkcjonalnej. Po dokładnym udokumentowaniu specyfikacji funkcjonalnej zespół pracuje nad jej dopracowaniem. Zespół przegląda te dokumenty i wypełnia wszelkie luki w analizie wymagań. Po zakończeniu analizy wymagań zespół zatwierdza specyfikację funkcjonalną. Zatwierdzony dokument specyfikacji jest wykorzystywany jako plan rozwoju oprogramowania.
Kod źródłowy i przypadki testowe są opracowywane przy użyciu specyfikacji funkcjonalnej. Członkowie zespołu używają specyfikacji funkcjonalnej do opracowywania przypadków testowych niezbędnych do potwierdzenia, że oprogramowanie działa zgodnie ze specyfikacją. Liczba przypadków testowych używanych do debugowania oprogramowania różni się w zależności od złożoności opracowanego oprogramowania. Gdy programiści opracowują oprogramowanie, inna część zespołu opracowuje przypadki testowe. Proces testowania w celu zatwierdzenia oprogramowania rozpoczyna się, gdy programiści powiadomią zespół, że jest gotowy do przetestowania.
Specyfikacja funkcjonalna nie określa takich rzeczy, jak język oprogramowania, który ma być używany przez programistów. Specyfikacje znajdujące się w specyfikacji funkcjonalnej są ograniczone do prawdziwych funkcji programu. Dokument specyfikacji wyjaśnia, co się dzieje, gdy użytkownik programu kliknie określony przycisk na ekranie, ale nie wyjaśnia, w jaki sposób programista spowoduje uruchomienie określonej funkcji.
W zależności od złożoności opracowywanego oprogramowania niektóre zespoły stosują wiele poziomów specyfikacji specyfikacji funkcjonalnej. Zespół zarządzający może uczestniczyć w specyfikacji funkcji wysokiego poziomu, podczas gdy grupa starszych analityków może bardziej szczegółowo zdefiniować określone funkcje, a wspólny zespół analityków biznesowych i programistów może zdefiniować każdy ekran. Każdy dokument wyjściowy z tych poziomów można uznać za specyfikację funkcjonalną.