Funktionelle vs ikke-funktionelle krav

Nรธgleforskel mellem funktionelle og ikke-funktionelle krav

  • Et funktionelt krav definerer et system eller dets komponent, hvorimod et ikke-funktionelt krav definerer ydeevneattributten for et softwaresystem.
  • Funktionelle krav hjรฆlper sammen med kravanalyse med at identificere manglende krav, mens fordelen ved ikke-funktionelle krav er, at det hjรฆlper dig med at sikre en god brugeroplevelse og nem betjening af softwaren.
  • Funktionelt krav er et verbum, mens ikke-funktionelt krav er en egenskab
  • Typer af ikke-funktionelle krav er skalerbarhed, kapacitet, tilgรฆngelighed, pรฅlidelighed, gendannelse, data Integrityosv., hvorimod transaktionskorrektioner, justeringer og annulleringer, forretningsregler, certificeringskrav, rapporteringskrav, administrative funktioner, autorisationsniveauer, revision Tracking, Eksterne grรฆnseflader, hรฅndtering af historiske data, juridiske eller lovgivningsmรฆssige krav er forskellige typer af funktionelle krav.
Funktionelle vs ikke-funktionelle krav
Forskellen mellem funktionelle og ikke-funktionelle krav

Hvad er et funktionskrav?

I softwareteknik, a funktionskrav definerer et system eller dets komponent. Den beskriver de funktioner en software skal udfรธre. En funktion er intet andet end input, dens adfรฆrd og output. Det kan vรฆre en beregning, datamanipulation, forretningsproces, brugerinteraktion eller enhver anden specifik funktionalitet, som definerer, hvilken funktion et system sandsynligvis vil udfรธre.

Funktionelle krav i software engineering hjรฆlpe dig med at fange systemets tilsigtede adfรฆrd. Denne adfรฆrd kan udtrykkes som funktioner, tjenester eller opgaver, eller hvilket system er forpligtet til at udfรธre.

Hvad er ikke-funktionelle krav?

A ikke-funktionelle krav definerer kvalitetsegenskaben for et softwaresystem. De reprรฆsenterer et sรฆt standarder, der bruges til at bedรธmme den specifikke drift af et system. Eksempel, hvor hurtigt indlรฆses hjemmesiden?

Et ikke-funktionelt krav er vรฆsentligt for at sikre anvendeligheden og effektiviteten af โ€‹โ€‹hele softwaresystemet. Manglende opfyldelse af ikke-funktionelle krav kan resultere i systemer, der ikke opfylder brugernes behov.

Ikke-funktionelle krav giver dig mulighed for at pรฅlรฆgge begrรฆnsninger eller begrรฆnsninger pรฅ designet af systemet pรฅ tvรฆrs af de forskellige agile efterslรฆb. 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.

Eksempel pรฅ funktionelle krav

Her er nogle eksempler pรฅ funktionelle krav i software engineering:

  • Softwaren validerer automatisk kunder mod ABC Contact Management System
  • Salgssystemet skal give brugerne mulighed for at registrere kundernes salg
  • Baggrundsfarven for alle vinduer i applikationen vil vรฆre blรฅ og have en hexadecimal RGB-farvevรฆrdi pรฅ 0x0000FF.
  • Kun medarbejdere pรฅ lederniveau har ret til at se indtรฆgtsdata.
  • Softwaresystemet skal vรฆre integreret med bank-API
  • Softwaresystemet skulle bestรฅ Sektion 508 tilgรฆngelighedskrav.

Eksempler pรฅ ikke-funktionelle krav

Her er nogle eksempler pรฅ ikke-funktionelle krav i softwareudvikling:

  1. Brugere skal รฆndre den oprindeligt tildelte login-adgangskode umiddelbart efter det fรธrste succesfulde login. Desuden bรธr initialen aldrig genbruges.
  2. Medarbejdere mรฅ aldrig opdatere deres lรธnoplysninger. Et sรฅdant forsรธg skal rapporteres til sikkerhedsadministratoren.
  3. Ethvert mislykket forsรธg fra en brugers side pรฅ at fรฅ adgang til et dataelement skal registreres pรฅ et revisionsspor.
  4. Et websted skal vรฆre i stand til at hรฅndtere 20 millioner brugere med at pรฅvirke dets ydeevne
  5. Softwaren skal vรฆre bรฆrbar. Sรฅ det skaber ikke noget problem at flytte fra et OS til et andet OS.
  6. Beskyttelse af oplysninger, eksport af teknologier, der begrรฆnses, intellektuelle ejendomsrettigheder osv. bรธr revideres.

Forskellen mellem funktionelle og ikke-funktionelle krav

Nedenfor er hovedforskellen mellem funktionelle og ikke-funktionelle krav i software engineering:

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 Funktionel test som system, integration, ende til ende, API-testOsv Ikke-funktionel test som ydeevne, stress, brugervenlighed, SikkerhedsprรธvningOsv
Testeksekvering Test udfรธres fรธr ikke-funktionel test. Efter den funktionelle test
Produkt Info produktegenskaber Produktegenskaber

Fordele ved funktionelle krav

Her er fordele/fordele ved at oprette et typisk funktionelt kravdokument-

  • Hjรฆlper dig med at kontrollere, om applikationen leverer alle de funktioner, der blev nรฆvnt i funktionskravet for den applikation
  • Et funktionskravdokument hjรฆlper dig med at definere funktionaliteten af โ€‹โ€‹et system eller et af dets undersystemer.
  • Funktionelle krav sammen med kravanalyse hjรฆlper med at identificere manglende krav. De hjรฆlper tydeligt med at definere den forventede systemservice og adfรฆrd.
  • Fejl fanget i indsamlingsfasen for funktionelle krav er de billigste at rette.
  • Stรธt brugermรฅl, opgaver eller aktiviteter for nem projektstyring
  • Funktionelle krav kan udtrykkes i Use Case-form eller brugerhistorie, da de udviser eksternt synlig funktionel adfรฆrd.

Fordele ved ikke-funktionelle krav

Fordele/fordele ved ikke-funktionel test i software Engineering 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.

Opsummer dette indlรฆg med: