Wat is een functionele vereiste in software-engineering?
โก Slimme samenvatting
Functionele eisen beschrijven elke dienst die een softwaresysteem moet bieden, inclusief invoer, gedrag en uitvoer, zodat ontwikkelaars, testers en zakelijke belanghebbenden een eenduidige, verifieerbare definitie hebben van wat het product daadwerkelijk moet doen.
Wat is een functionele vereiste?
A Functionele vereiste Een functionele specificatie (FR) is een beschrijving van de service die de software moet bieden. Het beschrijft een softwaresysteem of een component ervan. Een functie wordt gedefinieerd door inputs, gedrag en outputs. Het kan een berekening, gegevensmanipulatie, bedrijfsproces of gebruikersinteractie zijn die definieert wat het systeem moet doen. Functionele specificaties in software engineering worden ook wel genoemd Functionele specificatie.
Een functionele eis kan variรซren van een behoefte van belanghebbenden op hoog niveau tot een gedetailleerde wiskundige specificatie. Functionele software De vereisten beschrijven het beoogde gedrag van het systeem.
Wat moet er in een functioneel eisenpakket komen te staan?
Dit is wat een document met functionele eisen moet omvatten:
Voorbeeld functionele vereisten
Een document met functionele eisen bevat doorgaans de volgende onderdelen:
- Details van de uitgevoerde handelingen op elk scherm.
- Logica voor gegevensverwerking die het systeem moet toepassen
- Descriptionen van systeemrapporten en andere uitvoer
- Volledige informatie over de werkprocessen die het systeem uitvoert.
- Wie mag gegevens in het systeem aanmaken, wijzigen of verwijderen?
- Hoe het systeem voldoet aan de toepasselijke wettelijke en nalevingsvereisten.
Voordelen van functionele vereisten
De belangrijkste voordelen van een goed geschreven document met functionele eisen zijn:
- Controleert of de applicatie alle gespecificeerde functies levert.
- Definieert de functionaliteit van het systeem en de bijbehorende subsystemen op รฉรฉn plek.
- In combinatie met een behoefteanalyse helpen functionele vereisten bij het identificeren van ontbrekende behoeften en het verduidelijken van het verwachte systeemgedrag.
- Fouten die in de vereistenfase worden ontdekt, zijn het goedkoopst te corrigeren.
- Ondersteunt de doelen, taken en activiteiten van de gebruiker.
Soorten functionele vereisten
Veelvoorkomende categorieรซn functionele eisen zijn onder andere:
- Transactieafhandeling
- Bedrijfsregels
- certificatie-eisen
- Rapportage vereisten
- Administratieve functies
- Autorisatieniveaus
- Audit Tracking
- Externe interfaces
- Historisch gegevensbeheer
- Wettelijke en regelgevende vereisten
Voorbeelden van functionele vereisten
Hieronder volgen praktische voorbeelden van functionele eisen:
- De software zal klanten automatisch valideren aan de hand van het ABC Contact Management Systeem.
- Het verkoopsysteem moet gebruikers in staat stellen klantverkopen te registreren.
- De achtergrondkleur voor alle vensters in de applicatie moet blauw zijn met de hexadecimale RGB-waarde 0x0000FF.
- Alleen medewerkers op managementniveau hebben het recht om omzetgegevens in te zien.
- Het softwaresysteem moet geรฏntegreerd worden met de API van de bank.
- Het softwaresysteem moet voldoen aan sectie 508 toegankelijkheidsvereisten.
Functionele versus niet-functionele vereisten
Hieronder vindt u de belangrijkste verschillen tussen functionele en niet-functionele eisen in Software Engineering:
| Kenmerken | 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 | De testuitvoering vindt plaats vรณรณr de niet-functionele tests. | Na het functioneel testen |
| Product informatie | Producteigenschappen | Producteigenschappen |
Beste werkwijzen voor het schrijven van functionele eisen
De belangrijkste best practices voor het schrijven van een functioneel eisenpakket zijn:
- Combineer geen twee vereisten tot รฉรฉn; houd elke vereiste afzonderlijk.
- Formuleer alle vereisten zo volledig en nauwkeurig mogelijk.
- Beschrijf alle technische vereisten in het document.
- Koppel elke vereiste aan de doelstellingen en principes die leiden tot succesvolle softwareontwikkeling.
- Verzamel de benodigde informatie via interviews, workshops en informele gesprekken.
- Documenteer elke bekende, geverifieerde beperking die een wezenlijke invloed heeft op een vereiste.
- Leg alle aannames vast in het document.
Veelgemaakte fouten bij het schrijven van functionele eisen
Veelvoorkomende fouten bij het opstellen van een functioneel eisenpakket zijn onder andere:
- Het toevoegen van onnodige extra informatie die ontwikkelaars in verwarring brengt
- Het weglaten van de details die ontwikkelaars nodig hebben om de functionaliteit te bouwen.
- Regels voor het mengen, voorbeelden, scoreping verklaringen of doelstellingen in de eis zelf opnemen.
- Het weglaten van informatie die essentieel is om de eis volledig en nauwkeurig te formuleren.
- Het verdedigen van een bestaande eis wanneer een wijzigingsverzoek binnenkomt, in plaats van het juiste antwoord te zoeken.
- Het formuleren van eisen die niet gekoppeld zijn aan een doelstelling of principe.


