Hva er et funksjonskrav i programvareteknikk?

Hva er et funksjonskrav?

A Funksjonskrav (FR) er en beskrivelse av tjenesten som programvaren må tilby. Den beskriver et programvaresystem eller dets komponent. En funksjon er ikke annet enn innganger til programvaresystemet, dets 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 kalles også Funksjonell spesifikasjon.

Innen programvareteknikk og systemutvikling kan et funksjonskrav variere fra den abstrakte uttalelsen på høyt nivå om avsenderens nødvendighet til detaljerte matematiske funksjonelle kravspesifikasjoner. Funksjonell programvare krav hjelper deg med å fange opp den tiltenkte oppførselen til systemet.

Hva bør inkluderes i funksjonskravdokumentet?

Slik skriver du funksjonskravdokument:

Eksempel på funksjonskrav
Eksempel på funksjonskrav

Funksjonelle krav til et system bør inkludere følgende ting:

  • Detaljer om operasjoner utført på hver skjerm
  • Datahåndteringslogikk bør legges inn i systemet
  • Den bør ha beskrivelser av systemrapporter eller andre utdata
  • Fullstendig informasjon om arbeidsflytene som utføres av systemet
  • Det bør klart definere hvem som skal få lov til å opprette/endre/slette dataene i systemet
  • Hvordan systemet vil oppfylle gjeldende regulatoriske og samsvarsbehov bør fanges opp i funksjonsdokumentet

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

Typer funksjonskrav

Her er de vanligste funksjonskravtypene:

  • Transaksjonshåndtering
  • Forretningsregler
  • Sertifiseringskrav
  • Rapporterer krav
  • Administrative funksjoner
  • Autorisasjonsnivåer
  • Revisjonssporing
  • Eksterne grensesnitt
  • Historisk databehandling
  • Juridiske og regulatoriske krav

Eksempel på funksjonskrav

Nedenfor er de populære eksempler på funksjonskrav:

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

Ikke-funksjonelle vs. funksjonelle krav

Her er viktige forskjeller mellom funksjonelle og ikke-funksjonelle krav i Engineering programvare:

parametere 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

Beste praksis for funksjonelle krav

Viktig beste praksis for å utvikle funksjonskravdokument er som følger:

  • Ikke kombiner to krav til ett. Hold kravene granulære.
  • Du bør gjøre hvert krav så fullstendig og nøyaktig som mulig.
  • Dokumentet skal inneholde utkast til alle tekniske krav.
  • Kartlegg alle krav til mål og prinsipper som bidrar til vellykket programvarelevering
  • Fremkall krav ved hjelp av intervjuer, workshops og tilfeldig kommunikasjon.
  • Hvis det er noen kjent, verifisert begrensning som vesentlig påvirker et krav, er det en kritisk tilstand som bør dokumenteres.
  • Det er nødvendig at du dokumenterer alle forutsetningene i dokumentet.

Feil under opprettelse av et funksjonskrav

Her er noen vanlige feil som ble gjort under oppretting av funksjonskravdokument:

  • Legge inn uberettiget ekstra informasjon som kan forvirre utviklere
  • Ikke angi tilstrekkelig detaljer i kravdokumentet.
  • Du legger til regler eller eksempler, scoping-utsagn eller mål, unntatt selve kravet.
  • Utelatt en del viktig informasjon som er et absolutt must for å angi kravet fullstendig, nøyaktig og definitivt.
  • Noen fagfolk begynner å forsvare kravene de har dokumentert når kravet endres, i stedet for å finne den riktige sannheten.
  • Krav som ikke er tilordnet et mål eller prinsipp.

NØKKELLÆRING

  • Forklar funksjonelle krav i Software Engineering: A Funksjonelle krav definerer et system eller dets komponenter
  • Funksjonelle krav Dokumentet skal inneholde datahåndteringslogikk og fullstendig informasjon om arbeidsflytene som utføres av systemet
  • Funksjonelle krav sammen med behovsanalyse hjelper til med å identifisere manglende krav
  • 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
  • Som en god praksis ikke kombinere to krav til ett. Hold kravene granulære.
  • Å legge inn uberettiget ekstra informasjon som kan forvirre utviklere bør unngås i funksjonskravdokumentet. For å forstå hvordan disse kravene oversettes til faktiske testprosedyrer, kan det være lurt å utforske denne veiledningen funksjonstesting.