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.


