Wat is een functionele vereiste in software-engineering?
Wat is een functionele vereiste?
A Functionele vereiste (FR) is een beschrijving van de dienst die de software moet bieden. Het beschrijft een softwaresysteem of zijn component. Een functie is niets anders dan input voor het softwaresysteem, zijn gedrag en output. Het kan een berekening, gegevensmanipulatie, bedrijfsproces, gebruikersinteractie of een andere specifieke functionaliteit zijn die definieert welke functie een systeem waarschijnlijk zal vervullen. Functionele vereisten in Software Engineering worden ook wel genoemd Functionele specificatie.
In software-engineering en systeemtechniek kan een functionele vereiste variëren van een abstracte verklaring op hoog niveau van de noodzaak van de afzender tot gedetailleerde wiskundige functionele vereistenspecificaties. Functionele software vereisten helpen u het beoogde gedrag van het systeem vast te leggen.
Wat moet er in het Document Functionele Eisen staan?
Hier ziet u hoe u een document met functionele vereisten schrijft:
Functionele vereisten van een systeem moeten het volgende omvatten:
- Details van de uitgevoerde handelingen op elk scherm
- Logica voor gegevensverwerking moet in het systeem worden ingevoerd
- Het moet beschrijvingen bevatten van systeemrapporten of andere outputs
- Volledige informatie over de workflows die door het systeem worden uitgevoerd
- Er moet duidelijk worden gedefinieerd wie de gegevens in het systeem mag aanmaken/wijzigen/verwijderen
- Hoe het systeem zal voldoen aan de toepasselijke regelgevings- en nalevingsbehoeften moet worden vastgelegd in het functionele document
Voordelen van functionele vereisten
Hier volgen de voor- en nadelen van het maken van een typisch functioneel vereistendocument:
- Helpt u te controleren of de applicatie alle functionaliteiten biedt die vermeld staan in de functionele eisen van die applicatie
- Een functioneel eisendocument helpt u bij het definiëren van de functionaliteit van een systeem of een van zijn subsystemen.
- Functionele vereisten en vereistenanalyse helpen ontbrekende vereisten te identificeren. Ze helpen de verwachte systeemservice en het verwachte gedrag duidelijk te definiëren.
- Fouten die tijdens de fase van het verzamelen van functionele vereisten worden opgemerkt, zijn het goedkoopst op te lossen.
- Ondersteun gebruikersdoelen, taken of activiteiten
Soorten functionele vereisten
Dit zijn de meest voorkomende typen functionele vereisten:
- Transactieafhandeling
- Bedrijfsregels
- certificatie-eisen
- Rapportage vereisten
- Administratieve functies
- Autorisatieniveaus
- Audit volgen
- Externe interfaces
- Beheer van historische gegevens
- Wettelijke en regelgevende vereisten
Voorbeeld van functionele vereisten
Hieronder staan de populaire voorbeelden van functionele vereisten:
- De software valideert klanten automatisch aan de hand van het ABC Contact Management Systeem
- Het verkoopsysteem moet gebruikers in staat stellen de verkopen van klanten vast te leggen
- De achtergrondkleur voor alle vensters in de applicatie is blauw en heeft een hexadecimale RGB-kleurwaarde van 0x0000FF.
- Alleen medewerkers op managementniveau hebben het recht om omzetgegevens te bekijken.
- Het softwaresysteem moet worden geïntegreerd met de bank-API
- Het softwaresysteem zou moeten slagen sectie 508 toegankelijkheidseis.
Niet-functionele versus functionele vereisten
Hier volgen de belangrijkste verschillen tussen functionele en niet-functionele vereisten Software Engineering:
parameters | Functionele vereiste | Niet-functionele vereiste |
---|---|---|
Wat het is | Werkwoord | Attributen |
eis | Het is verplicht | Het is niet verplicht |
Soort vastleggen | Het wordt vastgelegd in een use case. | Het wordt vastgelegd als een kwaliteitsattribuut. |
Eindresultaat | product-functie | Producteigenschappen |
Het vastleggen | Gemakkelijk vast te leggen | Moeilijk vast te leggen |
Objectief | Helpt u de functionaliteit van de software te verifiëren. | Helpt u bij het verifiëren van de prestaties van de software. |
Aandachtsgebied | Focus op de gebruikersbehoefte | Concentreert zich op de verwachting van de gebruiker. |
Documentatie | Beschrijf wat het product doet | Beschrijft hoe het product werkt |
Type testen | Functioneel testen zoals systeem-, integratie-, end-to-end-, API-testen, Etc. | Niet-functionele tests zoals prestaties, stress, bruikbaarheid, Beveiligingstests, Etc. |
Testuitvoering | Testuitvoering vindt plaats vóór niet-functioneel testen. | Na het functioneel testen |
Product informatie | Producteigenschappen | Producteigenschappen |
Beste praktijk van functionele vereisten
Belangrijke best practices voor het ontwikkelen van functionele vereistendocumenten zijn als volgt:
- Combineer geen twee eisen tot één. Houd de vereisten gedetailleerd.
- U moet elke vereiste zo volledig en nauwkeurig mogelijk maken.
- Het document moet alle technische vereisten bevatten.
- Breng alle vereisten in kaart voor de doelstellingen en principes die bijdragen aan een succesvolle softwarelevering
- Haal vereisten naar voren met behulp van interviews, workshops en informele communicatie.
- Als er een bekende, geverifieerde beperking bestaat die een vereiste wezenlijk beïnvloedt, is dit een kritieke toestand die moet worden gedocumenteerd.
- Het is noodzakelijk dat u alle aannames in het document documenteert.
Fouten bij het creëren van een functionele vereiste
Hier volgen enkele veelvoorkomende fouten die worden gemaakt bij het maken van een functievereistedocument:
- Ongerechtvaardigde extra informatie invoeren die ontwikkelaars in verwarring kan brengen
- Er zijn onvoldoende details in het vereistedocument opgenomen.
- U voegt regels of voorbeelden, scopingverklaringen of doelstellingen toe, behalve de vereiste zelf.
- Er is een stukje belangrijke informatie weggelaten die absoluut noodzakelijk is om de vereiste volledig, nauwkeurig en definitief vast te stellen.
- Sommige professionals beginnen de eisen die zij hebben gedocumenteerd te verdedigen wanneer de eis wordt gewijzigd, in plaats van de juiste waarheid te vinden.
- Vereisten die niet zijn gekoppeld aan een doelstelling of principe.
BELANGRIJKE LEERLINGEN
- Leg functionele vereisten uit in Software Engineering: functionele vereisten definiëren een systeem of zijn componenten
- Het functionele vereistendocument moet logica voor gegevensverwerking en volledige informatie bevatten over de workflows die door het systeem worden uitgevoerd
- Functionele vereisten en vereistenanalyse helpen ontbrekende vereisten te identificeren
- Transactiecorrecties, aanpassingen en annuleringen, bedrijfsregels, certificeringsvereisten, rapportagevereisten, administratieve functies, autorisatieniveaus, audittracking, externe interfaces, beheer van historische gegevens, wettelijke of regelgevende vereisten zijn verschillende soorten functionele vereisten
- Het is een goede praktijk om twee vereisten niet in één te combineren. Houd de vereisten gedetailleerd.
- Het toevoegen van ongerechtvaardigde extra informatie die ontwikkelaars in verwarring kan brengen, moet worden vermeden in het document met functionele vereisten. Om te begrijpen hoe deze vereisten zich vertalen in daadwerkelijke testprocedures, kunt u deze handleiding raadplegen functioneel testen.