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