logo

Funktionella vs icke-funktionella krav

Kravanalys är en mycket kritisk process som gör det möjligt att bedöma framgången för ett system eller mjukvaruprojekt. Kraven är generellt uppdelade i två typer: funktionella och icke-funktionella krav.

Funktionell-vs-icke-funktionell



Att förstå och skilja mellan dessa typer av krav är avgörande för att alla projekt ska lyckas. Vårt omfattande Kurs i systemdesign täcker dessa begrepp i detalj, vilket ger dig kunskap och färdigheter för att effektivt samla, dokumentera och analysera krav.

Viktiga ämnen för funktionella vs icke-funktionella krav

Funktionella krav

Det är de krav som slutanvändaren specifikt ställer som grundläggande faciliteter som systemet ska erbjuda. Alla dessa funktioner måste nödvändigtvis integreras i systemet som en del av kontraktet.



Dessa representeras eller anges i form av input som ska ges till systemet, utförd operation och förväntad utdata. Det är de krav som anges av användaren som man kan se direkt i slutprodukten, till skillnad från de icke-funktionella kraven.

java indexof

Exempel:

  • Vilka funktioner behöver vi designa för detta system?
  • Vilka är de kantfall vi behöver tänka på, om några, i vår design?

Icke-funktionella krav

Dessa är de kvalitetskrav som systemet måste uppfylla enligt projektkontraktet. Prioriteten eller omfattningen i vilken dessa faktorer genomförs varierar från ett projekt till ett annat. De kallas även icke-beteendekrav. De hanterar frågor som:



siffror för alfabetet
  • Bärbarhet
  • säkerhet
  • Underhållbarhet
  • Pålitlighet
  • Skalbarhet
  • Prestanda
  • Återanvändbarhet
  • Flexibilitet

Exempel:

  • Varje begäran ska behandlas med minsta fördröjning?
  • Systemet bör vara mycket värdefullt.

Utökade krav

Dessa är i grunden bra att ha krav som kanske ligger utanför systemets räckvidd.

Exempel:

  • Vårt system bör registrera mätvärden och analyser.
  • Servicehälso- och prestationsövervakning.

Skillnaden mellan funktionella krav och icke-funktionella krav:

Funktionella krav

Icke funktionella krav

Ett funktionskrav definierar ett system eller dess komponent.

Ett icke-funktionellt krav definierar kvalitetsattributet för ett mjukvarusystem.

Den specificerar vad ska mjukvarusystemet göra?

Det sätter begränsningar på Hur ska mjukvarusystemet uppfylla funktionskraven?

java-listan tom

Funktionskrav specificeras av Användare.

Icke-funktionella krav specificeras av tekniska personer t.ex. Arkitekt, tekniska ledare och mjukvaruutvecklare.

Det är obligatoriskt.

Det är inte obligatoriskt.

mysql skapa användare

Det fångas i användningsfall.

Det fångas som ett kvalitetsattribut.

Definierat på en komponentnivå.

Tillämpas på ett system som helhet.

stoppning css

Hjälper dig att verifiera programvarans funktionalitet.

Hjälper dig att verifiera programvarans prestanda.

Funktionstestning som System, Integration, End to End, API-testning, etc görs.

Icke-funktionella tester som prestanda, stress, användbarhet, säkerhetstester etc görs.

Vanligtvis lätt att definiera.

Vanligtvis svårare att definiera.

Exempel
1) Autentisering av användare när han/hon loggar in i systemet.
2) Systemavstängning vid en cyberattack.
3) Ett verifieringsmail skickas till användaren när han/hon registrerar sig för första gången på något programvarusystem.

Exempel
1) E-postmeddelanden ska skickas med en fördröjning på högst 12 timmar från en sådan aktivitet.
2) Behandlingen av varje begäran bör ske inom 10 sekunder
3) Webbplatsen bör laddas inom 3 sekunder när antalet samtidiga användare är> 10 000