Wat zijn niet-functionele vereisten in software-engineering?
Wat zijn niet-functionele vereisten?
Niet-functionele vereiste (NFR) specificeert het kwaliteitskenmerk van een softwaresysteem. Ze beoordelen het softwaresysteem op basis van responsiviteit, bruikbaarheid, beveiliging, draagbaarheid en andere niet-functionele standaarden die cruciaal zijn voor het succes van het softwaresysteem. Voorbeeld van niet-functionele vereiste, “Hoe snel laadt de website?” Het niet voldoen aan niet-functionele eisen kan resulteren in systemen die niet voldoen aan de behoeften van de gebruiker.
Non Functional requirements in Software Engineering stellen u in staat om beperkingen of restricties op te leggen 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.
Soorten niet-functionele vereisten
Hieronder staan de belangrijkste soorten niet-functionele vereisten:
- Bruikbaarheidseis
- Onderhoudsvereiste
- Beheersbaarheidseis
- Vereisten voor herstelbaarheid
- Beveiligingsvereiste
- Data Integrity vereiste
- Capaciteitseis
- Beschikbaarheidseis
- Schaalbaarheidsvereiste
- Interoperabiliteitsvereiste
- Betrouwbaarheidseis
- Onderhoudsvereiste
- Wettelijke vereiste
- Milieueisen
Voorbeelden van niet-functionele vereisten
Hier volgen enkele voorbeelden van niet-functionele vereisten:
- 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.
Functionele versus niet-functionele vereisten
Hieronder vindt u het belangrijkste verschil tussen functionele en niet-functionele vereisten:
parameters | Functionele vereiste | Niet-functionele vereiste |
---|---|---|
Wat is het? | 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, enz. | Niet-functionele tests zoals prestatie-, stress-, bruikbaarheids-, beveiligingstests, enz. |
Testuitvoering | Testuitvoering vindt plaats vóór niet-functioneel testen. | Na het functioneel testen |
Product informatie | Producteigenschappen | Producteigenschappen |
Voordelen van niet-functionele vereisten
Voordelen/voordelen van Niet-functioneel testen 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.
Nadelen van niet-functionele vereisten
Nadelen/nadelen van niet-functievereiste zijn:
- Geen enkele functionele vereiste mag van invloed zijn op de verschillende softwaresubsystemen op hoog niveau
- Ze vereisen speciale aandacht tijdens de softwarearchitectuur-/ontwerpfase, wat de kosten verhoogt.
- De implementatie ervan is doorgaans niet toegesneden op het specifieke softwaresubsysteem,
- Het is lastig om niet-functionele wijzigingen aan te brengen zodra je de architectuurfase voorbij bent.
BELANGRIJKE LESSEN
- NFR betekent: Een niet-functionele eis definieert het prestatiekenmerk van een softwaresysteem.
- Wat zijn de soorten niet-functioneel gedrag: schaalbaarheid, capaciteit, beschikbaarheid, betrouwbaarheid, herstelbaarheid, gegevens Integrity, Etc.
- Een van de NFR-voorbeelden is dat werknemers nooit hun salarisinformatie mogen bijwerken. Een dergelijke poging moet worden gemeld aan de beveiligingsbeheerder.
- Functionele vereiste is een werkwoord, terwijl niet-functionele vereiste een attribuut is
- Het voordeel van niet-functionele vereisten is dat het u helpt een goede gebruikerservaring en gebruiksgemak van de software te garanderen
- Het grootste nadeel van niet-functionele vereisten is dat deze van invloed kunnen zijn op de verschillende softwaresubsystemen op hoog niveau.