Det vigtigste forskel mellem funktionelle og ikke-funktionelle krav er, at funktionelle krav beskriver, hvad systemet skal gøre, mens de ikke-funktionelle krav beskriver, hvordan systemet fungerer.
I Software Engineering fokuserer softwarekravene på de behov, der skal løses af softwaren. Når du udvikler software, er det allerførste trin at indsamle krav. Det er et af de vigtigste trin, fordi hele produktet afhænger af de indsamlede krav. Når kravene er samlet, analyseres de og dokumenteres i Software Requirement Specification (SRS). Softwarekrav kan kategoriseres i to sektioner som funktionelle og ikke-funktionelle krav.
1. Oversigt og nøgleforskel
2. Hvad er funktionelle krav
3. Hvad er ikke-funktionelle krav
4. Sammenligning side ved side - Funktionelle kontra ikke-funktionelle krav i tabelform
5. Resume
Kravene, der specificerer de funktionelle aspekter af software, er kendt som funktionelle krav. Funktionelle krav ændres fra et projekt til et andet. De definerer funktionaliteterne leveret af systemerne eller komponenterne.
Figur 01: Softwareudvikling
Antag et styringssystem for hospitalet. Det kan have flere moduler såsom login modul, patientmodul, læge modul, aftalemodul, rapport modul og fakturering modul. Loginmodulet skal med succes logge ind på systemet, når det korrekte brugernavn og adgangskode er angivet. Patientmodulet skal gemme, redigere og slette patientoplysninger. Lægemodulet skal gemme, redigere og slette lægeoplysninger. Aftalemodulet skal planlægge, omplanlægge og slette aftaler. Rapportmodulet skal generere medicinske rapporter. Faktureringsmodulet skal generere regninger til betaling. Dette er nogle funktionelle krav til et hospitalstyringssystem.
Kravene, der ikke er relateret til det funktionelle aspekt af software, falder i kategorien ikke-funktionelle krav. De definerer de forventede egenskaber ved en software. Brugerne kan tage antagelser om dem. Mange brugere er bekymrede for at få de ikke-funktionelle krav rigtigt, især til store systemer.
Et hospitalstyringssystem skal have følgende ikke-funktionelle krav. Hastighed er et betydeligt krav. Systemet skal behandle data inden for en minimal responstid. Systemet skal være sikkert. Dataene skal kun være tilgængelige af de autoriserede brugere. Det skal være let at vedligeholde. Softwaren skal være et fungerende og anvendeligt produkt. Dataene skal være pålidelige og tilgængelige, når det er nødvendigt. Derfor bør hospitalets styringssystem have ikke-funktionelle krav såsom ydelse, sikkerhed, vedligeholdelighed, brugervenlighed, pålidelighed og tilgængelighed.
Funktionelle kontra ikke-funktionelle krav | |
Funktionelle krav er de krav, der definerer funktioner i et system eller dets undersystemer. | Ikke-funktionelle krav er kravene, der specificerer kriterier, der kan bruges til at bedømme driften af systemet. |
Anvendelse | |
De funktionelle krav bruges til at beskrive et systems funktionalitet. | De ikke-funktionelle krav beskriver systemkvalitetsegenskaber eller kvalitetsattributter. |
Denne artikel diskuterede forskellen mellem de to kategorier af softwarekrav. Forskellen mellem funktionelle og ikke-funktionelle krav er, at funktionelle krav beskriver, hvad systemet skal gøre, mens de ikke-funktionelle krav beskriver, hvordan systemet fungerer.
1. “Softwarekrav.”, Tutorials Point, 8. januar 2018. Findes her
1.'Coding Shots Årsplan high res-5'By Matthew (WMF) - Eget arbejde, (CC BY-SA 3.0) via Commons Wikimedia