Funksjonelle vs ikke-funksjonelle krav

Hovedforskjell mellom funksjonelle og ikke-funksjonelle krav

  • Et funksjonskrav definerer et system eller dets komponent, mens et ikke-funksjonelt krav definerer ytelsesattributtet til et programvaresystem.
  • Funksjonelle krav, sammen med kravanalyse, hjelper til med รฅ identifisere manglende krav, mens fordelen med ikke-funksjonelle krav er at det hjelper deg รฅ sikre en god brukeropplevelse og enkel betjening av programvaren.
  • Funksjonelle krav er et verb, mens ikke-funksjonelle krav er et attributt
  • Typer av ikke-funksjonelle krav er skalerbarhet, kapasitet, tilgjengelighet, pรฅlitelighet, gjenopprettbarhet, data Integrity, etc., mens transaksjonskorrigeringer, justeringer og kanselleringer, forretningsregler, sertifiseringskrav, rapporteringskrav, administrative funksjoner, autorisasjonsnivรฅer, revisjonssporing, eksterne grensesnitt, hรฅndtering av historiske data, juridiske eller regulatoriske krav er ulike typer funksjonskrav.
Funksjonelle vs ikke-funksjonelle krav
Forskjellen mellom funksjonelle og ikke-funksjonelle krav

Hva er et funksjonskrav?

I programvareteknikk, a funksjonskrav definerer et system eller dets komponent. Den beskriver funksjonene en programvare mรฅ utfรธre. En funksjon er ikke annet enn innganger, dens oppfรธrsel og utganger. Det kan vรฆre en beregning, datamanipulering, forretningsprosess, brukerinteraksjon eller annen spesifikk funksjonalitet som definerer hvilken funksjon et system sannsynligvis vil utfรธre.

Funksjonelle krav i programvareteknikk hjelpe deg med รฅ fange opp den tiltenkte oppfรธrselen til systemet. Denne oppfรธrselen kan uttrykkes som funksjoner, tjenester eller oppgaver, eller hvilket system som kreves for รฅ utfรธre.

Hva er ikke-funksjonelle krav?

A ikke-funksjonelle krav definerer kvalitetsattributtet til et programvaresystem. De representerer et sett med standarder som brukes til รฅ bedรธmme den spesifikke driften av et system. Eksempel, hvor raskt laster nettstedet?

Et ikke-funksjonelt krav er avgjรธrende for รฅ sikre brukervennligheten og effektiviteten til hele programvaresystemet. Unnlatelse av รฅ oppfylle ikke-funksjonelle krav kan resultere i systemer som ikke tilfredsstiller brukerbehov.

Ikke-funksjonelle krav lar deg pรฅlegge begrensninger eller begrensninger pรฅ utformingen av systemet pรฅ tvers av de ulike smidige etterslepet. Eksempel: nettstedet skal lastes inn pรฅ 3 sekunder nรฅr antallet samtidige brukere er > 10000. Description av ikke-funksjonelle krav er like kritisk som et funksjonskrav.

Eksempel pรฅ funksjonskrav

Her er noen eksempler pรฅ funksjonelle krav i programvareteknikk:

  • Programvaren validerer automatisk kunder mot ABC Contact Management System
  • Salgssystemet skal tillate brukere รฅ registrere kundesalg
  • Bakgrunnsfargen for alle vinduer i applikasjonen vil vรฆre blรฅ og ha en heksadesimal RGB-fargeverdi pรฅ 0x0000FF.
  • Kun ansatte pรฅ ledernivรฅ har rett til รฅ se inntektsdata.
  • Programvaresystemet bรธr vรฆre integrert med bank API
  • Programvaresystemet skal bestรฅ ยง 508 krav til tilgjengelighet.

Eksempler pรฅ ikke-funksjonelle krav

Her er noen eksempler pรฅ ikke-funksjonelle krav i programvareteknikk:

  1. Brukere mรฅ endre det opprinnelig tildelte pรฅloggingspassordet umiddelbart etter den fรธrste vellykkede pรฅloggingen. Dessuten bรธr initialen aldri gjenbrukes.
  2. Ansatte har aldri tillatt รฅ oppdatere lรธnnsopplysningene sine. Et slikt forsรธk bรธr rapporteres til sikkerhetsadministratoren.
  3. Ethvert mislykket forsรธk fra en bruker pรฅ รฅ fรฅ tilgang til et dataelement skal registreres pรฅ et revisjonsspor.
  4. Et nettsted skal vรฆre i stand til รฅ hรฅndtere 20 millioner brukere med รฅ pรฅvirke ytelsen
  5. Programvaren skal vรฆre bรฆrbar. Sรฅ รฅ flytte fra ett OS til et annet OS skaper ikke noe problem.
  6. Personvern for informasjon, eksport av begrensede teknologier, immaterielle rettigheter osv. bรธr revideres.

Forskjellen mellom funksjonelle og ikke-funksjonelle krav

Nedenfor er hovedforskjellen mellom funksjonelle og ikke-funksjonelle krav i programvareteknikk:

Parametre Funksjonskrav Ikke-funksjonelle krav
Hva det er Verb attributter
Krav Det er obligatorisk Det er ikke obligatorisk
Fangetype Det fanges opp i brukstilfelle. Det fanges opp som et kvalitetsattributt.
Sluttresultat Produktfunksjon Produktegenskaper
fange Lett รฅ fange Vanskelig รฅ fange
Mรฅlet Hjelper deg รฅ verifisere funksjonaliteten til programvaren. Hjelper deg med รฅ verifisere ytelsen til programvaren.
Fokusomrรฅde Fokus pรฅ brukerkrav Konsentrerer seg om brukerens forventning.
Teknisk dokumentasjon Beskriv hva produktet gjรธr Beskriver hvordan produktet fungerer
Type testing Funksjonell testing som system, integrasjon, ende til ende, API-testingOsv Ikke-funksjonell testing som ytelse, stress, brukervennlighet, SikkerhetstestingOsv
Testutfรธrelse Testutfรธrelse gjรธres fรธr ikke-funksjonell testing. Etter funksjonstestingen
produkt info Produktegenskaper Produktegenskaper

Fordeler med funksjonskrav

Her er fordelene/fordelene ved รฅ lage et typisk funksjonskravdokument-

  • Hjelper deg med รฅ sjekke om applikasjonen tilbyr alle funksjonene som ble nevnt i funksjonskravet til den applikasjonen
  • Et funksjonskravdokument hjelper deg med รฅ definere funksjonaliteten til et system eller et av dets undersystemer.
  • Funksjonelle krav sammen med behovsanalyse hjelper til med รฅ identifisere manglende krav. De hjelper tydelig รฅ definere forventet systemtjeneste og oppfรธrsel.
  • Feil fanget i innsamlingsfasen for funksjonelle krav er de billigste รฅ fikse.
  • Stรธtt brukermรฅl, oppgaver eller aktiviteter for enkel prosjektledelse
  • Funksjonelle krav kan uttrykkes i Use Case-skjema eller brukerhistorie da de viser eksternt synlig funksjonell atferd.

Fordeler med ikke-funksjonelle krav

Fordeler/fordeler med ikke-funksjonell testing i software engineering er:

  • De ikke-funksjonelle kravene sikrer at programvaresystemet fรธlger juridiske og samsvarsregler.
  • De sikrer pรฅliteligheten, tilgjengeligheten og ytelsen til programvaresystemet
  • De sikrer god brukeropplevelse og enkel betjening av programvaren.
  • De hjelper til med รฅ formulere sikkerhetspolitikken til programvaresystemet.

Oppsummer dette innlegget med: