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.

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:
- 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.
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.
