Vad är ett funktionskrav inom mjukvaruteknik?
Vad är ett funktionskrav?
A Funktionskrav (FR) är en beskrivning av den tjänst som programvaran måste erbjuda. Den beskriver ett mjukvarusystem eller dess komponent. En funktion är inget annat än indata till mjukvarusystemet, dess beteende och utgångar. Det kan vara en beräkning, datamanipulation, affärsprocess, användarinteraktion eller någon annan specifik funktionalitet som definierar vilken funktion ett system sannolikt kommer att utföra. Funktionella krav inom mjukvaruteknik kallas också Funktionell specifikation.
Inom mjukvaruteknik och systemteknik kan ett funktionskrav sträcka sig från det abstrakta uttalandet på hög nivå om avsändarens nödvändighet till detaljerade matematiska funktionskravspecifikationer. Funktionell programvara krav hjälper dig att fånga systemets avsedda beteende.
Vad ska ingå i funktionskravsdokumentet?
Så här skriver du ett funktionskravdokument:
Funktionella krav på ett system bör inkludera följande saker:
- Detaljer om utförda operationer på varje skärm
- Datahanteringslogik bör läggas in i systemet
- Den bör ha beskrivningar av systemrapporter eller andra utdata
- Fullständig information om de arbetsflöden som utförs av systemet
- Det bör tydligt definiera vem som får skapa/ändra/ta bort data i systemet
- Hur systemet kommer att uppfylla tillämpliga regulatoriska och efterlevnadsbehov bör fångas i funktionsdokumentet
Fördelar med funktionskrav
Här är fördelarna/fördelarna med att skapa ett typiskt funktionskravdokument-
- Hjälper dig att kontrollera om applikationen tillhandahåller alla funktioner som nämndes i funktionskravet för den applikationen
- Ett funktionskravdokument hjälper dig att definiera funktionaliteten för ett system eller ett av dess delsystem.
- Funktionskrav tillsammans med kravanalys hjälper till att identifiera saknade krav. De hjälper till att tydligt definiera förväntad systemtjänst och beteende.
- Fel som upptäcks i insamlingsstadiet för funktionella krav är de billigaste att åtgärda.
- Stöd användarens mål, uppgifter eller aktiviteter
Typer av funktionskrav
Här är de vanligaste typerna av funktionskrav:
- Transaktionshantering
- Affärsregler
- Certifieringskrav
- Rapporteringskrav
- Administrativa funktioner
- Behörighetsnivåer
- Granskningsspårning
- Externa gränssnitt
- Historisk datahantering
- Lagliga och regulatoriska krav
Exempel på funktionskrav
Nedan är de populära exemplen på funktionskrav:
- Programvaran validerar automatiskt kunder mot ABC Contact Management System
- Försäljningssystemet bör tillåta användare att registrera kunders försäljning
- Bakgrundsfärgen för alla fönster i programmet kommer att vara blå och ha ett hexadecimalt RGB-färgvärde på 0x0000FF.
- Endast anställda på chefsnivå har rätt att se intäktsdata.
- Mjukvarusystemet bör integreras med bank-API
- Programvarusystemet bör passera Avsnitt 508 tillgänglighetskrav.
Icke funktionella vs. funktionella krav
Här är viktiga skillnader mellan funktionella och icke-funktionella krav i Mjukvaruutveckling:
parametrar | 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 | Testexekvering görs före icke-funktionell testning. | Efter funktionstestet |
produkt~~POS=TRUNC | Produktegenskaper | Produktegenskaper |
Bästa praxis för funktionskrav
Viktig bästa praxis för att utveckla funktionskravdokument är följande:
- Kombinera inte två krav till ett. Håll kraven detaljerade.
- Du bör göra varje krav så fullständigt och korrekt som möjligt.
- Dokumentet bör innehålla alla tekniska krav.
- Kartlägg alla krav till de mål och principer som bidrar till framgångsrik mjukvaruleverans
- Framkalla krav med hjälp av intervjuer, workshops och tillfällig kommunikation.
- Om det finns någon känd, verifierad begränsning som väsentligt påverkar ett krav är det ett kritiskt tillstånd som bör dokumenteras.
- Det är nödvändigt att du dokumenterar alla antaganden i dokumentet.
Misstag när du skapar ett funktionskrav
Här är några vanliga misstag som görs när du skapar funktionskravdokument:
- Att lägga in omotiverad extra information som kan förvirra utvecklare
- Att inte sätta tillräckliga detaljer i kravdokumentet.
- Du lägger till regler eller exempel, omfattningsförklaringar eller mål vad som helst förutom själva kravet.
- Utelämnade en bit viktig information som är ett absolut måste för att helt, exakt och definitivt ange kravet.
- Vissa proffs börjar försvara de krav de har dokumenterat när kravet ändras, istället för att hitta den korrekta sanningen.
- Krav som inte är kopplade till ett mål eller princip.
NYCKELLÄRANDEN
- Förklara funktionskrav inom mjukvaruteknik: A Funktionella krav definierar ett system eller dess komponenter
- Funktionskrav Dokument bör innehålla datahanteringslogik och fullständig information om de arbetsflöden som utförs av systemet
- Funktionskrav tillsammans med kravanalys hjälper till att identifiera saknade krav
- Transaktionskorrigeringar, justeringar och annulleringar, affärsregler, certifieringskrav, rapporteringskrav, administrativa funktioner, behörighetsnivåer, revisionsspårning, externa gränssnitt, hantering av historiska data, juridiska eller regulatoriska krav är olika typer av funktionskrav
- Som en god praxis kombinera inte två krav till ett. Håll kraven detaljerade.
- Att lägga in omotiverad extra information som kan förvirra utvecklare bör undvikas i funktionskravsdokumentet. För att förstå hur dessa krav översätts till faktiska testprocedurer, kanske du vill utforska den här guiden om funktionstestning.