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.
Functionele versus niet-functionele vereisten
Verschil tussen functionele en niet-functionele vereisten

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:

  1. Gebruikers moeten het aanvankelijk toegewezen inlogwachtwoord onmiddellijk na de eerste succesvolle aanmelding wijzigen. Bovendien mag de initiaal nooit opnieuw worden gebruikt.
  2. Werknemers mochten nooit hun salarisgegevens bijwerken. Een dergelijke poging moet worden gemeld aan de beveiligingsbeheerder.
  3. Elke mislukte poging van een gebruiker om toegang te krijgen tot een gegevensitem wordt vastgelegd in een audittrail.
  4. Een website moet capabel genoeg zijn om 20 miljoen gebruikers te verwerken, wat de prestaties beïnvloedt
  5. De software moet draagbaar zijn. Het overstappen van het ene besturingssysteem naar het andere besturingssysteem levert dus geen enkel probleem op.
  6. 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.