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:

Voorbeeld functionele vereisten
Voorbeeld functionele vereisten

Functionele vereisten van een systeem moeten het volgende omvattenwing dingen:

  • Details of operaties die op elk scherm worden uitgevoerd
  • 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 iedereen windows in de toepassing 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.