Wat is niet-functionele vereiste in software-engineering? Typen en voorbeelden

Wat is een niet-functionele vereiste?

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 eis, hoe snel laadt de website? Het niet voldoen aan niet-functionele vereisten kan ertoe leiden dat systemen niet voldoen aan de behoeften van de gebruiker.

Met niet-functionele vereisten in Software Engineering kunt u beperkingen of beperkingen opleggen aan het ontwerp van het systeem over de verschillende agile achterstanden heen. De site zou bijvoorbeeld in 3 seconden moeten laden wanneer het aantal gelijktijdige gebruikers > 10000 is. Beschrijving van niet-functionele vereisten is net zo kritisch als een functionele vereiste.

In deze tutorial leer je meer over-

Soorten niet-functionele vereisten

Soorten niet-functionele vereisten

  • Bruikbaarheidsvereiste:
  • Onderhoudsvereiste
  • Beheersbaarheidsvereiste
  • Herstelbaarheidsvereiste
  • Beveiligingsvereiste:
  • Vereiste gegevensintegriteit
  • Capaciteitsvereiste:
  • Beschikbaarheidsvereiste
  • Schaalbaarheidsvereiste
  • Interoperabiliteitsvereiste:
  • Betrouwbaarheidsvereiste
  • Onderhoudbaarheidseis
  • Wettelijke vereiste
  • Milieuvereiste:

Voorbeelden van niet-functionele vereisten

Hier zijn enkele voorbeelden van niet-functionele vereisten:

  1. Gebruikers moeten het oorspronkelijk toegewezen inlogwachtwoord onmiddellijk na de eerste succesvolle login wijzigen. Bovendien mag de initiaal nooit opnieuw worden gebruikt.
  2. Werknemers mogen hun salarisgegevens nooit bijwerken. Een dergelijke poging moet worden gemeld aan de beveiligingsbeheerder.
  3. Elke mislukte poging van een gebruiker om toegang te krijgen tot een gegeven wordt vastgelegd in een audit trail.
  4. Een website moet capabel genoeg zijn om 20 miljoen gebruikers aan te kunnen, wat gevolgen heeft voor de prestaties
  5. De software moet draagbaar zijn. Dus overstappen van het ene besturingssysteem naar het andere besturingssysteem levert geen enkel probleem op.
  6. Privacy van informatie, de export van beperkte technologieën, intellectuele eigendomsrechten, enz. moeten worden gecontroleerd.

Functionele versus niet-functionele vereisten

Hieronder volgt het belangrijkste verschil tussen functionele en niet-functionele vereisten:

Parameters: Functionele vereiste: Niet-functionele vereiste
Wat is het?Werkwoord

attributen

VereisteHet is verplicht

Het is niet verplicht
Type vastleggenHet wordt vastgelegd in use-case.Het wordt vastgelegd als een kwaliteitsattribuut.
EindresultaatProducteigenschap

Producteigenschappen

vastleggenMakkelijk vast te leggen

Moeilijk vast te leggen

DoelstellingHelpt u bij het verifiëren van de functionaliteit van de software.Helpt u de prestaties van de software te verifiëren.
AandachtsgebiedFocus op gebruikersvereisteConcentreert zich op de verwachting van de gebruiker.
DocumentatieBeschrijf wat het product doetBeschrijft hoe het product werkt
Type testFunctioneel testen zoals systeem, integratie, end-to-end, API-testen, enz.Niet-functionele tests zoals prestaties, stress, bruikbaarheid, beveiligingstests, enz.
TestuitvoeringTestuitvoering vindt plaats vóór niet-functionele tests.Na de functionele testen
Product informatieProducteigenschappen

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 nalevingsregels 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 eis:

Nadelen / nadelen van niet-functievereiste zijn:

  • Geen enkele functionele vereiste kan van invloed zijn op de verschillende softwaresubsystemen op hoog niveau
  • Ze vereisen speciale aandacht tijdens de software-architectuur/ontwerpfase op hoog niveau, wat de kosten verhoogt.
  • Hun implementatie komt meestal niet overeen met het specifieke softwaresubsysteem,
  • Het is moeilijk om niet-functioneel te wijzigen als je eenmaal de architectuurfase hebt doorlopen.

BELANGRIJKE LESSEN

  • Een niet-functionele eis definieert het prestatiekenmerk van een softwaresysteem.
  • Typen niet-functionele vereisten zijn schaalbaarheidscapaciteit, beschikbaarheid, betrouwbaarheid, herstelbaarheid, gegevensintegriteit, enz.
  • Een van de voorbeelden van niet-functionele vereisten is dat werknemers hun salarisgegevens nooit 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 om een ​​goede gebruikerservaring en bedieningsgemak van de software te garanderen
  • Het grootste nadeel van niet-functionele vereisten is dat het de verschillende softwaresubsystemen op hoog niveau kan beïnvloeden.