Hva er et funksjonskrav i programvareteknikk?
⚡ Smart oppsummering
Funksjonelle krav beskriver alle tjenester et programvaresystem må tilby, og fanger opp input, atferd og output slik at utviklere, testere og interessenter deler en enkelt, verifiserbar definisjon av hva produktet faktisk må gjøre.
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 definert av input, atferd og output. Det kan være en beregning, datamanipulasjon, forretningsprosess eller brukerinteraksjon som definerer hva systemet må gjøre. Funksjonelle krav i programvareutvikling kalles også Funksjonell spesifikasjon.
Et funksjonelt krav spenner fra et behov fra en interessent på høyt nivå til en detaljert matematisk spesifikasjon. Funksjonell programvare Kravene fanger opp systemets tiltenkte oppførsel.
Hva som skal inkluderes i et dokument for funksjonelle krav
Her er hva et funksjonskravdokument bør dekke:
Eksempel på funksjonskrav
Et dokument for funksjonelle krav inneholder vanligvis:
- Detaljer om operasjoner utført på hver skjerm
- Datahåndteringslogikk som systemet må bruke
- Descriptioner av systemrapporter og andre utganger
- Fullstendig informasjon om arbeidsflytene systemet utfører
- Hvem har tillatelse til å opprette, endre eller slette data i systemet
- Hvordan systemet oppfyller gjeldende regulatoriske og samsvarskrav
Fordeler med funksjonelle krav
De viktigste fordelene med et godt skrevet funksjonskravdokument er:
- Verifiserer at applikasjonen leverer alle funksjoner som ble spesifisert
- Definerer funksjonaliteten til systemet og dets delsystemer på ett sted
- Kombinert med kravanalyse bidrar funksjonelle krav til å identifisere manglende behov og tydeliggjøre forventet systematferd
- Feil som oppdages i kravfasen er de billigste å fikse
- Støtter brukerens mål, oppgaver og aktiviteter
Typer funksjonskrav
Vanlige kategorier av funksjonelle krav inkluderer:
- Transaksjonshåndtering
- Forretningsregler
- Sertifiseringskrav
- Rapporterer krav
- Administrative funksjoner
- Autorisasjonsnivåer
- Audit Tracking
- Eksterne grensesnitt
- Historisk datahåndtering
- Juridiske og regulatoriske krav
Eksempler på funksjonskrav
Nedenfor er praktiske eksempler på funksjonelle krav:
- Programvaren skal automatisk validere kunder mot ABC Contact Management System.
- Salgssystemet skal tillate brukere å registrere kunders salg.
- Bakgrunnsfargen for alle vinduer i applikasjonen skal være blå med en heksadesimal RGB-verdi på 0x0000FF.
- Kun ansatte på ledernivå skal ha rett til å se inntektsdata.
- Programvaresystemet skal integreres med bankens API.
- Programvaresystemet skal oppfylle § 508 tilgjengelighetskrav.
Funksjonelle vs. ikke-funksjonelle krav
Her er de viktigste forskjellene mellom funksjonelle og ikke-funksjonelle krav i Engineering programvare:
| 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 |
Beste praksis for å skrive funksjonelle krav
De viktigste beste fremgangsmåtene for å skrive et funksjonelt kravdokument er:
- Ikke kombiner to krav til ett; hold hvert krav detaljert.
- Gjør alle krav så fullstendige og nøyaktige som mulig.
- Skriv ut alle tekniske krav i dokumentet.
- Kartlegg alle krav til målene og prinsippene som driver vellykket programvarelevering.
- Innhent behov gjennom intervjuer, workshops og uformelle samtaler.
- Dokumenter alle kjente, verifiserte begrensninger som vesentlig påvirker et krav.
- Registrer alle antagelser i dokumentet.
Vanlige feil når man skriver funksjonelle krav
Vanlige feil som gjøres når man lager et funksjonelt kravdokument inkluderer:
- Legge til uberettiget ekstra informasjon som forvirrer utviklere
- Utelat detaljene utviklerne må bygge funksjonen.
- Blandingsregler, eksempler, scoping utsagn eller mål i selve kravet.
- Å utelate informasjon som er viktig for å formulere kravet fullstendig og nøyaktig.
- Å forsvare et eksisterende krav når en endringsforespørsel kommer inn, i stedet for å finne det riktige svaret.
- Skrivekrav som ikke er knyttet til noe mål eller prinsipp.


