Functionele versus niet-functionele vereisten
Belangrijkste verschil tussen functionele en niet-functionele vereisten
- Een functionele vereiste definieert een systeem of zijn component, terwijl een niet-functionele vereiste het prestatiekenmerk van een softwaresysteem definieert.
- Functionele vereisten helpen, samen met de vereistenanalyse, bij het identificeren van ontbrekende vereisten. Het voordeel van niet-functionele vereisten is dat ze u helpen een goede gebruikerservaring en gebruiksgemak van de software te garanderen.
- Functionele vereisten zijn een werkwoord, terwijl niet-functionele vereisten een attribuut zijn
- Soorten niet-functionele vereisten zijn schaalbaarheidscapaciteit, beschikbaarheid, betrouwbaarheid, herstelbaarheid en gegevens Integrity, enz., terwijl transactiecorrecties, aanpassingen en annuleringen, bedrijfsregels, certificeringsvereisten, rapportagevereisten, administratieve functies, autorisatieniveaus, audittracking, externe interfaces, beheer van historische gegevens, wettelijke of regelgevende vereisten verschillende soorten functionele vereisten zijn.

Wat is een functionele vereiste?
In software-engineering is een functionele vereiste definieert een systeem of zijn component. Het beschrijft de functies die een software moet uitvoeren. Een functie is niets anders dan invoer, zijn gedrag en uitvoer. 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 helpen u het beoogde gedrag van het systeem vast te leggen. Dit gedrag kan worden uitgedrukt in functies, services of taken, of in de vorm van welk systeem moet worden uitgevoerd.
Wat zijn niet-functionele vereisten?
A niet-functionele vereiste definieert het kwaliteitskenmerk van een softwaresysteem. Ze vertegenwoordigen een reeks standaarden die worden gebruikt om de specifieke werking van een systeem te beoordelen. Bijvoorbeeld, hoe snel laadt de website?
Een niet-functionele vereiste is essentieel om de bruikbaarheid en effectiviteit van het gehele softwaresysteem te garanderen. Het niet voldoen aan niet-functionele eisen kan resulteren in systemen die niet voldoen aan de behoeften van de gebruiker.
Met Non-functional Requirements kunt u beperkingen of restricties opleggen aan het ontwerp van het systeem in de verschillende agile backlogs. Bijvoorbeeld, de site moet in 3 seconden laden wanneer het aantal gelijktijdige gebruikers > 10000 is. DescriptHet vaststellen van niet-functionele eisen is net zo belangrijk als een functionele eis.
Voorbeeld van functionele vereisten
Hier zijn enkele voorbeelden van functionele vereisten in software-engineering:
- 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.
Voorbeelden van niet-functionele vereisten
Hier volgen enkele voorbeelden van niet-functionele vereisten in software-engineering:
- Gebruikers moeten het aanvankelijk toegewezen inlogwachtwoord onmiddellijk na de eerste succesvolle aanmelding wijzigen. Bovendien mag de initiaal nooit opnieuw worden gebruikt.
- Werknemers mochten nooit hun salarisgegevens bijwerken. Een dergelijke poging moet worden gemeld aan de beveiligingsbeheerder.
- Elke mislukte poging van een gebruiker om toegang te krijgen tot een gegevensitem wordt vastgelegd in een audittrail.
- Een website moet capabel genoeg zijn om 20 miljoen gebruikers te verwerken, wat de prestaties beïnvloedt
- De software moet draagbaar zijn. Het overstappen van het ene besturingssysteem naar het andere besturingssysteem levert dus geen enkel probleem op.
- Privacy van informatie, de export van beperkte technologieën, intellectuele eigendomsrechten, enz. moeten worden gecontroleerd.
Verschil tussen functionele en niet-functionele vereisten
Hieronder vindt u het belangrijkste verschil tussen functionele en niet-functionele vereisten 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 | Testuitvoering vindt plaats vóór niet-functioneel testen. | Na het functioneel testen |
Product informatie | Producteigenschappen | Producteigenschappen |
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 voor eenvoudig projectbeheer
- Functionele vereisten kunnen worden uitgedrukt in een Use Case-vorm of een gebruikersverhaal, aangezien ze extern zichtbaar functioneel gedrag vertonen.
Voordelen van niet-functionele vereisten
Voordelen/voordelen van niet-functioneel testen in software engineering zijn:
- De niet-functionele vereisten zorgen ervoor dat het softwaresysteem de wettelijke en complianceregels volgt.
- Ze zorgen voor de betrouwbaarheid, beschikbaarheid en prestaties van het softwaresysteem
- Ze zorgen voor een goede gebruikerservaring en gebruiksgemak van de software.
- Ze helpen bij het formuleren van het beveiligingsbeleid van het softwaresysteem.