Wat is een functionele specificatie?
Een functionele specificatie beschrijft de basisfuncties van een softwareapplicatie. Het wordt over het algemeen ontwikkeld als onderdeel van de behoeftenanalyse bij softwareontwikkeling. Het dient als een blauwdruk voor de programmeurs om broncode en testgevallen voor de toepassing te ontwikkelen.
Over het algemeen zijn er veel verschillende spelers betrokken bij de behoeftenanalyse voor het ontwikkelen van elke softwareapplicatie. Deze spelers zijn de mensen uit het bedrijfsleven die naar verwachting de software zullen gebruiken, de data-analisten, programmeurs en ander technisch personeel. De zakenmensen leggen de andere leden van het team precies uit wat zij van software verwachten te doen, vanuit een zakelijk perspectief.
Zakelijke vereisten worden samengevoegd met de gegevens die moeten worden vastgelegd en worden gebruikt om de manier te ontwikkelen waarop het team elk van de schermen zou willen laten functioneren. Al deze vereistenanalyse moet worden voltooid om de functionele specificatie te documenteren. Zodra de functionele specificatie ruwweg is gedocumenteerd, werkt het team aan het verfijnen. Het team beoordeelt deze documenten en vult eventuele hiaten in de behoeftenanalyse in. Nadat de vereistenanalyse is voltooid, keurt het team de functionele specificatie goed. Het goedgekeurde specificatiedocument wordt gebruikt als een blauwdruk voor softwareontwikkeling.
Broncode en testgevallen worden ontwikkeld met behulp van de functionele specificatie. Teamleden gebruiken de functionele specificatie om de testgevallen te ontwikkelen die nodig zijn om te bevestigen dat de software functioneert zoals gespecificeerd. Het aantal testgevallen dat wordt gebruikt om de software te debuggen, is afhankelijk van de complexiteit van de ontwikkelde software. Terwijl de programmeurs de software ontwikkelen, ontwikkelt een ander deel van het team de testcases. Het testproces om de software goed te keuren, begint zodra de programmeurs het team adviseren dat het klaar is om te worden getest.
De functionele specificatie specificeert geen zaken als de softwaretaal die door de programmeurs moet worden gebruikt. De specificaties in een functionele specificatie zijn beperkt tot de echte functies van het programma. In het specificatiedocument wordt uitgelegd wat er gebeurt wanneer een programmagebruiker op een specifieke knop op het scherm klikt, maar niet hoe de programmeur de specifieke functie gaat uitvoeren.
Afhankelijk van de complexiteit van de te ontwikkelen software, gebruiken sommige teams meerdere niveaus van functionele specificatiedocumenten. Het managementteam zou kunnen deelnemen aan de specificatie van functies op hoog niveau, terwijl een groep senior analisten de specifieke functies nader zou kunnen definiëren en een gezamenlijk team van bedrijfsanalisten en programmeurs elk scherm zou kunnen definiëren. Elk van de uitvoerdocumenten van deze niveaus kan worden beschouwd als een functionele specificatie.