Specyfikacja funkcjonalna aplikacji internetowej5 min read

Wybór właściwego wykonawcy serwisu internetowego to podstawa, ale jednocześnie dopiero początek procesu, którego zwieńczeniem będzie w pełni funkcjonalne rozwiązanie. Aby zacząć współpracę strony muszą podpisać umowę realizacyjną oraz dokonać szeregu ustaleń. Jednak w przypadku skomplikowanych serwisów lub aplikacji istotny jest jeszcze jeden element. Kluczowy załącznik do umowy powinna stanowić specyfikacja funkcjonalna.

Czym jest specyfikacja funkcjonalna

Specyfikacja funkcjonalna jest odzwierciedleniem projektu aplikacji, warunkuje jej realizację a także przyszły kształt. Jej autora lub autorów można nazwać projektantami aplikacji. Bardzo ważne jest powierzenie stworzenia specyfikacji funkcjonalnej osobie lub zespołowi o dużym doświadczeniu. Dokument przez nich stworzony będzie stanowił instrukcję, przewodnik i swego rodzaju plan zarówno dla kierownika projektu, osób odpowiedzialnych za projektowanie interfejsu, programistów, jak i testerów powstającej aplikacji.

Specyfikacja funkcjonalna nie jest dokumentem, który nie może być modyfikowany w trakcie budowy serwisu. Proces tworzenia aplikacji ma charakter twórczy. Z czasem pojawiają się nowe pomysły, zmiany wymagane przez zleceniodawcę lub ulepszenia., Powinny być one dopisywane do specyfikacji w miejsce wstępnych założeń lub jako dodatkowe elementy oraz wprowadzane w życie. Ich pojawienie się nie zmienia kierunku działania, a stanowi korektę, która ma wpłynąć na udoskonalenie finalnego efektu pracy. Aktualizując specyfikację w trakcie realizacji tworzy się rzeczywistą dokumentację techniczną odzwierciedlającą proces powstawania aplikacji. Po zrealizowaniu projektu taka specyfikacja przyda się do prac rozwojowych na serwisie lub nawet może posłużyć jako materiał źródłowy przy tworzeniu kolejnej aplikacji.

Dlaczego specyfikacja funkcjonalna powinna powstać

Standardowe serwisy internetowe (strony firmowe, sklepy itd.) w znacznym stopniu oferują typowe funkcjonalności. Z tego względu nie ma potrzeby ich szczegółowego opisywania. Wystarczy stworzyć listę funkcjonalności – większość z nich jest obsługiwana przez gotowe rozwiązania (CMS). W przypadku aplikacji internetowej znaczną większość funkcjonalności trzeba zaprogramować od podstaw. Aby zrobić to sprawnie trzeba cały proces zaplanować i rzetelnie przygotować szczegółową specyfikację. To pozwoli uzyskać efekt zgodny z założeniami i oczekiwaniami zleceniodawcy.

Unikalny charakter funkcjonalności wymaga ich dokładnego opisania. Informacje zawarte w służącej do tego specyfikacji funkcjonalnej muszą być jasno sformułowane i zrozumiałe dla osób odpowiedzialnych za realizację projektu. Kluczowymi aspektami, które powinny być ściśle opisane są architektura techniczna serwisu internetowego, struktura bazy danych, poszczególne procesy i funkcjonalności, widoki i panel administracyjny.

Co powinna zawierać specyfikacja funkcjonalna aplikacji internetowej

Nie ma jednego uniwersalnego schematu tworzenia specyfikacji funkcjonalnej dla aplikacji internetowej. Istnieją różne podejścia do jej pisania. Wiele zależy od doświadczeń osób zaangażowanych w projekt, ich wiedzy, umiejętności, sposobu myślenia i działania, a wreszcie od samej aplikacji. Proponowana przez nas struktura specyfikacji funkcjonalnej jest oparta na 5 kluczowych elementach, które w razie potrzeby mogą być uzupełnione o kolejne, o ile wymagać tego będzie sytuacja.

Geneza

Pierwszy element to geneza projektu. Na początku specyfikacji dobrze jest opisać aplikację ogólnie – zdefiniować do czego ma ona służyć, określić podstawowe funkcjonalności i założenia. Poza kwestiami technicznymi warto się w tym miejscu odnieść także do celów, w których realizacji ma pomagać aplikacja. Te wszystkie informacje będą wskazówkami dla zespołu realizacyjnego, który na ich podstawie może proponować nowe pomysły, które pomogą w osiągnięciu założeń.

Baza danych

Kolejnym wymagającym opisania elementem jest baza danych aplikacji. W specyfikacji funkcjonalnej należy umieścić nie tylko listę tabel w bazie, ale także zdefiniować strukturę rekordu każdej z tabel, co w praktyce oznacza wylistowanie pól tabeli. Ważne jest także określenie relacji między polami. Optymalny projekt bazy danych ma kluczowe znaczenie dla wydajności aplikacji.

Funkcjonalności Front-endu

W dalszej kolejności specyfikacja powinna zawierać opis funkcjonalny Front-Endu (części aplikacji widocznej dla użytkowników) czyli dotyczącą listę i opisy poszczególnych funkcjonalności oraz procesów. W tym przypadku nie bez znaczenia jest kolejność funkcjonalności (od najczęściej realizowanych do tych wykonywanych najrzadziej oraz określenie kolejności kroków w procesach) i hierarchia (od ogółu do szczegółu). W każdym kroku każdej funkcjonalności trzeba szczegółowo opisać poszczególne widoki i składniki interfejsu oraz ich działanie. Oprócz funkcji i procedur uruchamianych przez użytkowników trzeba opisać wszelkie funkcjonalności cykliczne czyli uruchamiane o określonych datach, godzinach lub w zdefiniowanych odstępach czasu.

Funkcjonalności Back-endu

Specyfikację funkcjonalną uzupełniają kwestie dotyczące Back-Endu czyli lista oraz opisy funkcjonalności panelu administracyjnego -elementów niewidocznych dla użytkowników.

Widoki

Na koniec swoje miejsce w specyfikacji powinna znaleźć lista widoków (zwanych także ekranami), które występują w opisach funkcjonalności wymienionych we wcześniejszych częściach dokumentu. To zestawienie przygotowywane jest z myślą o osobach, które będą projektować i realizować interfejs (UX Designer, Graphic Designer, Frontend Developer).

Specyfikacja funkcjonalna jest dokumentem, którego tworzeniu należy poświęcić wiele uwagi. Ze względu na swój fundamentalny charakter dla procesu tworzenia aplikacji, specyfikacja musi być stworzona na najwyższym możliwym poziomie, a to wymaga czasu oraz poniesienia określonych – często niemałych – kosztów. W przypadku mniej skomplikowanych aplikacji pójście na żywioł i działanie bez specyfikacji przeważnie kończy się stratą czasu, a co za tym idzie także pieniędzy. Czasem planowana aplikacja nigdy nie powstaje. Gdy tworzony jest serwis o wysokim poziomie złożoności skomplikowania działanie bez specyfikacji w praktyce jest niemożliwe. Podobnie jest, gdy przygotowanie omawianego dokumentu powierza się osobom nie posiadającym odpowiednich kwalifikacji.

Szablon specyfikacji

Aby ułatwić Wam prace nad projektem aplikacji internetowej umieszczamy przykładowy szablon zawierający opisy przykładowych tabel w bazie oraz funkcjonalności. Dokument bazuje na powyżej przedstawionym podejściu.

W celu pobrania pliku bardzo prosimy o udostępnienie niniejszego postu:

 
A kto monitoruj Twoj stron?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

 
Kogo zaprosić do konkursu na serwis internetowy i jak wyłonić zwycięzcę?

Zamknij