logo

Functionele versus niet-functionele vereisten

Analyse van vereisten is een zeer kritisch proces waarmee het succes van een systeem- of softwareproject kan worden beoordeeld. Vereisten worden over het algemeen in twee typen opgesplitst: functionele en niet-functionele vereisten.

Functioneel versus niet-functioneel



Het begrijpen en onderscheiden van dit soort vereisten is essentieel voor het succes van elk project. Onze uitgebreide Cursus systeemontwerp behandelt deze concepten in detail, waardoor u de kennis en vaardigheden krijgt om vereisten effectief te verzamelen, documenteren en analyseren.

Belangrijke onderwerpen voor functionele versus niet-functionele vereisten

Functionele vereisten

Dit zijn de eisen die de eindgebruiker specifiek stelt als basisvoorzieningen die het systeem moet bieden. Al deze functionaliteiten moeten noodzakelijkerwijs in het systeem worden opgenomen als onderdeel van het contract.



Deze worden weergegeven of vermeld in de vorm van de input die aan het systeem moet worden gegeven, de uitgevoerde handeling en de verwachte output. Het zijn de door de gebruiker gestelde eisen die men direct in het eindproduct kan zien, in tegenstelling tot de niet-functionele eisen.

diff in python

Voorbeeld:

  • Wat zijn de functies die we voor dit systeem moeten ontwerpen?
  • Met welke randgevallen moeten we rekening houden, indien aanwezig, in ons ontwerp?

Niet-functionele vereisten

Dit zijn de kwaliteitseisen waaraan het systeem volgens het projectcontract moet voldoen. De prioriteit of mate waarin deze factoren worden geïmplementeerd, varieert van project tot project. Ze worden ook wel niet-gedragsmatige vereisten genoemd. Zij behandelen vraagstukken als:



runtime-fout
  • Draagbaarheid
  • Beveiliging
  • Onderhoudbaarheid
  • Betrouwbaarheid
  • Schaalbaarheid
  • Prestatie
  • Herbruikbaarheid
  • Flexibiliteit

Voorbeeld:

  • Moet elk verzoek met de minimale latentie worden verwerkt?
  • Systeem moet zeer waardevol zijn.

Uitgebreide vereisten

Het is in principe prettig om vereisten te hebben die mogelijk buiten de reikwijdte van het systeem vallen.

Voorbeeld:

  • Ons systeem moet statistieken en analyses registreren.
  • Servicegezondheid en prestatiemonitoring.

Verschil tussen functionele vereisten en niet-functionele vereisten:

Functionele vereisten

Niet-functionele vereisten

Een functionele eis definieert een systeem of zijn component.

Een niet-functionele eis definieert het kwaliteitskenmerk van een softwaresysteem.

Het specificeert wat het softwaresysteem moet doen?

Het legt beperkingen op aan de vraag: Hoe moet het softwaresysteem aan de functionele eisen voldoen?

hoe je string in int kunt veranderen

Functionele vereisten worden gespecificeerd door Gebruiker.

Niet-functionele vereisten worden gespecificeerd door technische mensen, b.v. Architect, technische leiders en softwareontwikkelaars.

Het is verplicht.

Het is niet verplicht.

Het wordt vastgelegd in een use case.

Het wordt vastgelegd als een kwaliteitsattribuut.

salman khan khan leeftijd

Gedefinieerd op componentniveau.

Toegepast op een systeem als geheel.

sql-gegevenstypen

Helpt u de functionaliteit van de software te verifiëren.

Helpt u bij het verifiëren van de prestaties van de software.

Functionele tests zoals systeem-, integratie-, end-to-end-, API-tests, enz. worden uitgevoerd.

Niet-functionele tests zoals prestatie-, stress-, bruikbaarheids-, beveiligingstests, enz. Worden uitgevoerd.

Meestal gemakkelijk te definiëren.

Meestal moeilijker te definiëren.

Voorbeeld
1) Authenticatie van de gebruiker telkens wanneer hij/zij inlogt op het systeem.
2) Systeemuitschakeling in geval van een cyberaanval.
3) Er wordt een verificatie-e-mail naar de gebruiker verzonden wanneer hij/zij zich voor de eerste keer registreert op een bepaald softwaresysteem.

Voorbeeld
1) E-mails moeten worden verzonden met een latentie van niet meer dan 12 uur na een dergelijke activiteit.
2) De verwerking van elk verzoek moet binnen 10 seconden plaatsvinden
3) De site moet binnen 3 seconden laden als het aantal gelijktijdige gebruikers> 10.000 is