Hvad er ikke-funktionelle krav i softwareteknologi?
Hvad er ikke-funktionelle krav?
Ikke-funktionelle krav (NFR) specificerer kvalitetsattributten for et softwaresystem. De bedรธmmer softwaresystemet baseret pรฅ lydhรธrhed, brugervenlighed, sikkerhed, bรฆrbarhed og andre ikke-funktionelle standarder, der er afgรธrende for softwaresystemets succes. Eksempel pรฅ ikke-funktionelt krav, "hvor hurtigt indlรฆses hjemmesiden?" Manglende opfyldelse af ikke-funktionelle krav kan resultere i systemer, der ikke opfylder brugernes behov.
Ikke-funktionelle krav i Software Engineering giver dig mulighed for at pรฅlรฆgge begrรฆnsninger eller begrรฆnsninger pรฅ designet af systemet pรฅ tvรฆrs af de forskellige agile backlogs. Eksempelvis skal webstedet indlรฆses pรฅ 3 sekunder, nรฅr antallet af samtidige brugere er > 10000. Description af ikke-funktionelle krav er lige sรฅ kritisk som et funktionskrav.
Typer af ikke-funktionelle krav
Nedenfor er de vigtigste typer af ikke-funktionelle krav:

- Krav om brugbarhed
- Servicekrav
- Hรฅndterbarhedskrav
- Krav om inddrivelse
- Sikkerhedskrav
- Data Integrity krav
- Kapacitetskrav
- Tilgรฆngelighedskrav
- Skalerbarhedskrav
- Interoperabilitetskrav
- Krav om pรฅlidelighed
- Krav om vedligeholdelse
- Lovkrav
- Miljรธkrav
Eksempler pรฅ ikke-funktionelle krav
Her er nogle eksempler pรฅ ikke-funktionelle krav:
- Brugere skal รฆndre den oprindeligt tildelte login-adgangskode umiddelbart efter det fรธrste succesfulde login. Desuden bรธr initialen aldrig genbruges.
- Medarbejdere mรฅ aldrig opdatere deres lรธnoplysninger. Et sรฅdant forsรธg skal rapporteres til sikkerhedsadministratoren.
- Ethvert mislykket forsรธg fra en brugers side pรฅ at fรฅ adgang til et dataelement skal registreres pรฅ et revisionsspor.
- Et websted skal vรฆre i stand til at hรฅndtere 20 millioner brugere med at pรฅvirke dets ydeevne
- Softwaren skal vรฆre bรฆrbar. Sรฅ det skaber ikke noget problem at flytte fra et OS til et andet OS.
- Beskyttelse af oplysninger, eksport af teknologier, der begrรฆnses, intellektuelle ejendomsrettigheder osv. bรธr revideres.
Funktionelle vs ikke-funktionelle krav
Fรธlgende er hovedforskellen mellem funktionelle og ikke-funktionelle krav:
| Driftsparametre | Funktionskrav | Ikke-funktionelle krav |
|---|---|---|
| Hvad er det? | Udsagnsord | Attributter |
| Krav | Det er obligatorisk | Det er ikke obligatorisk |
| Optagelsestype | Det er fanget i use case. | Det er fanget som en kvalitetsegenskab. |
| Slutresultat | Produktegenskab | Produktegenskaber |
| Optagelse | Let at fange | Svรฆrt at fange |
| Objektiv | Hjรฆlper dig med at verificere softwarens funktionalitet. | Hjรฆlper dig med at verificere softwarens ydeevne. |
| Fokusomrรฅde | Fokus pรฅ brugerkrav | Koncentrerer sig om brugerens forventning. |
| Dokumentation | Beskriv, hvad produktet gรธr | Beskriver hvordan produktet virker |
| Type af test | Funktionstest som system, integration, ende til ende, API-test osv. | Ikke-funktionel test som ydeevne, stress, brugervenlighed, sikkerhedstest osv. |
| Testeksekvering | Test udfรธres fรธr ikke-funktionel test. | Efter den funktionelle test |
| Produkt Info | produktegenskaber | Produktegenskaber |
Fordele ved ikke-funktionelle krav
Fordele/fordele ved Ikke-funktionel test er:
- De ikke-funktionelle krav sikrer, at softwaresystemet fรธlger lov- og overholdelsesregler.
- De sikrer pรฅlideligheden, tilgรฆngeligheden og ydeevnen af โโsoftwaresystemet
- De sikrer en god brugeroplevelse og nem betjening af softwaren.
- De hjรฆlper med at formulere sikkerhedspolitik for softwaresystemet.
Ulemper ved ikke-funktionelle krav
Ulemper/ulemper ved ikke-funktionskrav er:
- Ingen funktionskrav kan pรฅvirke de forskellige softwareundersystemer pรฅ hรธjt niveau
- De krรฆver sรฆrlig overvejelse i softwarearkitekturen/designfasen pรฅ hรธjt niveau, hvilket รธger omkostningerne.
- Deres implementering er normalt ikke knyttet til det specifikke software-undersystem,
- Det er svรฆrt at รฆndre ikke-funktionel, nรฅr du fรธrst har bestรฅet arkitekturfasen.
NรGLELรRING
- NFR betyder: Et ikke-funktionelt krav definerer ydeevneattributten for et softwaresystem.
- Hvad er typerne af ikke-funktionel adfรฆrd: Skalerbarhed, kapacitet, tilgรฆngelighed, pรฅlidelighed, gendannelse, data IntegrityOsv
- Et af NFR-eksemplerne er, at medarbejdere aldrig mรฅ opdatere deres lรธnoplysninger. Et sรฅdant forsรธg skal rapporteres til sikkerhedsadministratoren.
- Funktionelt krav er et verbum, mens ikke-funktionelt krav er en attribut
- Fordelen ved ikke-funktionelle krav er, at det hjรฆlper dig med at sikre en god brugeroplevelse og nem betjening af softwaren
- Den stรธrste ulempe ved ikke-funktionelle krav er, at det kan pรฅvirke de forskellige softwareundersystemer pรฅ hรธjt niveau.
