Hvad er et funktionelt krav i softwareteknologi?
⚡ Smart opsummering
Funktionelle krav beskriver alle de tjenester, et softwaresystem skal tilbyde, og registrerer input, adfærd og output, så udviklere, testere og forretningsinteressenter deler en enkelt, verificerbar definition af, hvad produktet rent faktisk skal gøre.
Hvad er et funktionskrav?
A Funktionskrav (FR) er en beskrivelse af den service, som softwaren skal tilbyde. Det beskriver et softwaresystem eller dets komponent. En funktion er defineret af input, adfærd og output. Det kan være en beregning, datamanipulation, forretningsproces eller brugerinteraktion, der definerer, hvad systemet skal gøre. Funktionelle krav i softwareudvikling kaldes også Funktionel specifikation.
Et funktionelt krav spænder fra et interessentbehov på højt niveau til en detaljeret matematisk specifikation. Funktionel software Kravene indfanger systemets tilsigtede adfærd.
Hvad skal inkluderes i et funktionelt kravdokument
Her er hvad et funktionelt kravdokument bør dække:
Eksempel på funktionskrav
Et funktionelt kravdokument indeholder typisk:
- Detaljer om udførte operationer på hver skærm
- Datahåndteringslogik, som systemet skal anvende
- Descriptioner af systemrapporter og andre output
- Fuld information om de arbejdsgange, som systemet udfører
- Hvem har tilladelse til at oprette, ændre eller slette data i systemet
- Hvordan systemet opfylder gældende lovgivningsmæssige og overholdelseskrav
Fordele ved funktionelle krav
De vigtigste fordele ved et velskrevet funktionelt kravdokument er:
- Bekræfter, at applikationen leverer alle de specificerede funktioner
- Definerer systemets og dets undersystemers funktionalitet på ét sted
- Kombineret med kravanalyse hjælper funktionelle krav med at identificere manglende behov og tydeliggøre forventet systemadfærd
- Fejl, der opdages i kravfasen, er de billigste at rette
- Understøtter brugernes mål, opgaver og aktiviteter
Typer af funktionelle krav
Almindelige kategorier af funktionelle krav omfatter:
- Transaktionshåndtering
- Forretningsregler
- Certificeringskrav
- Rapporteringskrav
- Administrative funktioner
- Autorisationsniveauer
- Revision Tracking
- Eksterne grænseflader
- Historisk datahåndtering
- Lovmæssige og regulatoriske krav
Eksempler på funktionelle krav
Nedenfor er praktiske eksempler på funktionelle krav:
- Softwaren skal automatisk validere kunder i forhold til ABC Contact Management System.
- Salgssystemet skal give brugerne mulighed for at registrere kunders salg.
- Baggrundsfarven for alle vinduer i applikationen skal være blå med en hexadecimal RGB-værdi på 0x0000FF.
- Kun medarbejdere på ledelsesniveau har ret til at se omsætningsdata.
- Softwaresystemet skal integreres med bankens API.
- Softwaresystemet skal opfylde Sektion 508 tilgængelighedskrav.
Funktionelle vs. ikke-funktionelle krav
Her er de vigtigste forskelle mellem funktionelle og ikke-funktionelle krav i Software Engineering:
| Driftsparametre | Funktionskrav | Ikke-funktionelle krav |
|---|---|---|
| Hvad er det | Udsagnsord | Attributter |
| Krav | Det er obligatorisk | Det er ikke obligatorisk |
| Optagelsestype | Det er fanget i use case. | Det er fanget som en kvalitetsegenskab. |
| Slutresultat | Produktegenskab | Produktegenskaber |
| Optagelse | Let at fange | Svært at fange |
| Objektiv | Hjælper dig med at verificere softwarens funktionalitet. | Hjælper dig med at verificere softwarens ydeevne. |
| Fokusområde | Fokus på brugerkrav | Koncentrerer sig om brugerens forventning. |
| Dokumentation | Beskriv, hvad produktet gør | Beskriver hvordan produktet virker |
| Type af test | Funktionel test som system, integration, ende til ende, API-testOsv | Ikke-funktionel test som ydeevne, stress, brugervenlighed, SikkerhedsprøvningOsv |
| Testeksekvering | Testudførelse udføres før ikke-funktionel testning. | Efter den funktionelle test |
| Produkt Info | produktegenskaber | Produktegenskaber |
Bedste praksis for at skrive funktionelle krav
De vigtigste bedste fremgangsmåder til at skrive et funktionelt kravdokument er:
- Kombiner ikke to krav til ét; hold hvert krav detaljeret.
- Gør alle krav så fuldstændige og præcise som muligt.
- Udarbejd alle tekniske krav i dokumentet.
- Kortlæg alle krav til de mål og principper, der driver succesfuld softwarelevering.
- Afdæk behovene gennem interviews, workshops og uformelle samtaler.
- Dokumenter alle kendte, verificerede begrænsninger, der væsentligt påvirker et krav.
- Registrer alle antagelser i dokumentet.
Almindelige fejl ved skrivning af funktionelle krav
Almindelige fejl, der begås ved udarbejdelse af et funktionelt kravdokument, omfatter:
- Tilføjelse af uberettigede ekstra oplysninger, der forvirrer udviklere
- Uden de detaljer, som udviklerne skal bruge for at bygge funktionen.
- Blandingsregler, eksempler, scoping udsagn eller målsætninger i selve kravet.
- Udeladelse af oplysninger, der er afgørende for at angive kravet fuldt ud og præcist.
- At forsvare et eksisterende krav, når en ændringsanmodning modtages, i stedet for at finde det korrekte svar.
- Skrivekrav, der ikke er knyttet til noget mål eller princip.


