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.