Vad är ett funktionskrav inom mjukvaruteknik?
⚡ Smart sammanfattning
Funktionella krav beskriver varje tjänst ett programvarusystem måste erbjuda och fångar indata, beteende och utdata så att utvecklare, testare och affärsintressenter delar en enda, verifierbar definition av vad produkten faktiskt måste göra.
Vad är ett funktionskrav?
A Funktionskrav (FR) är en beskrivning av den tjänst som programvaran måste erbjuda. Den beskriver ett programvarusystem eller dess komponent. En funktion definieras av indata, beteende och utdata. Det kan vara en beräkning, datamanipulation, affärsprocess eller användarinteraktion som definierar vad systemet måste göra. Funktionella krav inom programvaruteknik kallas också Funktionell specifikation.
Ett funktionskrav sträcker sig från ett behov på övergripande intressentnivå till en detaljerad matematisk specifikation. Funktionell programvara Kraven fångar systemets avsedda beteende.
Vad som ska inkluderas i ett funktionellt kravdokument
Här är vad ett funktionskravdokument bör omfatta:
Exempel på funktionskrav
Ett funktionellt kravdokument innehåller vanligtvis:
- Detaljer om operationer som utförs på varje skärm
- Datahanteringslogik som systemet måste tillämpa
- Descriptav systemrapporter och andra utdata
- Fullständig information om arbetsflöden som systemet utför
- Vem som har behörighet att skapa, ändra eller radera data i systemet
- Hur systemet uppfyller tillämpliga regel- och efterlevnadskrav
Fördelar med funktionella krav
De främsta fördelarna med ett välskrivet funktionskravdokument är:
- Verifierar att applikationen levererar alla funktioner som angavs
- Definierar systemets och dess delsystems funktionalitet på ett ställe
- I kombination med kravanalys hjälper funktionella krav till att identifiera saknade behov och förtydliga förväntat systembeteende.
- Fel som upptäcks i kravstadiet är billigast att åtgärda
- Stödjer användarnas mål, uppgifter och aktiviteter
Typer av funktionskrav
Vanliga kategorier av funktionella krav inkluderar:
- Transaktionshantering
- Affärsregler
- Certifieringskrav
- Rapporteringskrav
- Administrativa funktioner
- Auktoriseringsnivåer
- Revision Tracking
- Externa gränssnitt
- Historisk datahantering
- Lagliga och regulatoriska krav
Exempel på funktionskrav
Nedan följer praktiska exempel på funktionella krav:
- Programvaran ska automatiskt validera kunder mot ABC Contact Management System.
- Försäljningssystemet ska tillåta användare att registrera kundförsäljning.
- Bakgrundsfärgen för alla fönster i applikationen ska vara blå med det hexadecimala RGB-värdet 0x0000FF.
- Endast anställda på chefsnivå har rätt att se intäktsdata.
- Programvarusystemet ska integreras med bankens API.
- Programvarusystemet ska uppfylla Avsnitt 508 tillgänglighetskrav.
Funktionella kontra icke-funktionella krav
Här är de viktigaste skillnaderna mellan funktionella och icke-funktionella krav i Mjukvaruutveckling:
| Driftparametrar | Funktionskrav | Icke-funktionella krav |
|---|---|---|
| Vad det är | Verb | attribut |
| Krav | Det är obligatoriskt | Det är icke-obligatoriskt |
| Typ av fångst | Det fångas i användningsfall. | Det fångas som ett kvalitetsattribut. |
| Slutresultat | Produktegenskap | Produktegenskaper |
| Fångande | Lätt att fånga | Svårt att fånga |
| Mål | Hjälper dig att verifiera programvarans funktionalitet. | Hjälper dig att verifiera programvarans prestanda. |
| Fokusområde | Fokusera på användarens krav | Koncentrerar sig på användarens förväntningar. |
| Dokumentation | Beskriv vad produkten gör | Beskriver hur produkten fungerar |
| Typ av testning | Funktionstestning som System, Integration, End to End, API-testningEtc. | Icke-funktionella tester som prestanda, stress, användbarhet, SäkerhetstestEtc. |
| Testutförande | Testkörning utförs före icke-funktionell testning. | Efter funktionstestet |
| produkt~~POS=TRUNC | Produktegenskaper | Produktegenskaper |
Bästa praxis för att skriva funktionella krav
De viktigaste bästa metoderna för att skriva ett funktionellt kravdokument är:
- Kombinera inte två krav till ett; håll varje krav detaljerat.
- Gör alla krav så fullständiga och korrekta som möjligt.
- Skriv ut alla tekniska krav i dokumentet.
- Kartlägg varje krav mot de mål och principer som driver framgångsrik programvaruleverans.
- Ta fram krav genom intervjuer, workshops och informella samtal.
- Dokumentera varje känd, verifierad begränsning som väsentligt påverkar ett krav.
- Registrera varje antagande i dokumentet.
Vanliga misstag när man skriver funktionella krav
Vanliga misstag som görs när man skapar ett funktionellt kravdokument inkluderar:
- Lägger till oberättigad extra information som förvirrar utvecklare
- Utelämnar detaljerna som utvecklarna behöver bygga funktionen.
- Blandningsregler, exempel, scoping uttalanden eller mål i själva kravet.
- Utelämnar information som är avgörande för att ange kravet fullständigt och korrekt.
- Att försvara ett befintligt krav när en ändringsförfrågan kommer in, istället för att hitta rätt svar.
- Skrivkrav som inte är kopplade till något mål eller någon princip.


