Icke funktionella krav

Icke-funktionella krav är en viktig del av system- och mjukvaruutveckling och handlar om de krav som inte är relaterade till själva funktionaliteten hos systemet. Dessa krav fokuserar på aspekter som prestanda, säkerhet och användarvänlighet.

I korthet

  • Icke-funktionella krav definierar egenskaper eller kriterier som inte direkt påverkar systemets funktionalitet, såsom prestanda, användbarhet och säkerhet.
  • Icke-funktionella krav används för att specificera kvalitetskrav och begränsningar som systemet måste uppfylla.
  • Exempel på icke-funktionella krav inkluderar tekniska specifikationer, mjukvarukrav, prestandakrav, säkerhetskrav och krav på användarvänlighet.

Vad är icke-funktionella krav?

Enligt en artikel publicerad av Swedish Software Engineering Research Group (SERG), icke-funktionella krav definierar de kvalitativa egenskaper som ett system bör ha för att uppfylla användarnas förväntningar och krav.

Till exempel kan prestandakrav fastställa hur snabbt systemet bör svara eller hur mycket minne det bör använda. Säkerhetskrav kan specificera åtgärder för att skydda systemet mot hot och användarvänlighetskrav kan rikta in sig på att skapa en intuitiv och effektiv användarupplevelse.

The IEEE standard 830-1998 on Software Requirements Specifications sub-classifies non-functional requirements into external interface requirements, performance requirements, attributes and design constraints, where the attributes are a set of qualities such as reliability, availability, security, etc.

Skillnaden mellan funktionella och icke-funktionella krav

Det är viktigt att skilja mellan funktionella och icke-funktionella krav. Funktionella krav beskriver vad systemet ska göra, medan icke-funktionella krav fokuserar på hur systemet ska fungera. Till exempel, medan ett funktionellt krav kan vara att systemet ska kunna hantera 1000 användare samtidigt, kan ett icke-funktionellt krav vara att systemet ska ge svar inom 1 sekund för varje användare.

Icke-funktionella krav är krav som inte handlar om vad en produkt ska göra utan snarare om hur den ska vara.

Dessa krav påverkar inte produkten direkt, men de påverkar hur bra den fungerar för användarna.

Till exempel kan ett icke-funktionellt krav vara att en webbsida ska vara lätt att navigera eller att en mobilapp ska vara snabb att ladda. Det är viktigt att förstå icke-funktionella krav för att skapa produkter som användarna kommer att tycka om och som passar deras behov och preferenser.

När används icke-funktionella krav?

Icke-funktionella krav används för att sätta ramar och gränser för hur systemet ska fungera och prestera. Men det kan också vara krav på systemets arkitektur eller underhållbarhet.

Det är viktigt att definiera och testa icke-funktionella krav noggrant för att säkerställa att systemet uppfyller förväntningarna och fungerar korrekt.

Exempel på icke-funktionella krav

Specifika och väldefinierade icke-funktionella krav är avgörande för framgången hos ett projekt. Här är några exempel på icke-funktionella krav som kan vara relevanta för olika projekt:

KategoriKrav
PrestandaApplikationen måste svara på användarinteraktioner inom 1 sekund.
SäkerhetSystemet måste uppfylla databehandlingsstandarder för personuppgifter.
TillgänglighetApplikationen ska vara tillgänglig 24/7 och kunna hantera samtidiga användare.
SkalbarhetSystemet ska kunna hantera en ökning av belastningen med 50% under högst trafik.
UnderhållDet måste finnas en lättförståelig dokumentation för systemet och dess komponenter.

Vad är specifikationer?

Enligt definition är specifikationer detaljerade beskrivningar av hur något ska vara.

Inom kravhantering kan specifikationer användas för att tydligt definiera önskade egenskaper och beteenden för en produkt eller tjänst.

Specifikationer är viktiga för att möjliggöra en tydlig och enhetlig förståelse mellan olika aktörer som är involverade i utvecklingen eller användningen av produkten eller tjänsten. Specifikationer kan omfatta olika aspekter såsom funktionalitet, prestanda, användarvänlighet och säkerhet.

De hjälper till att skapa en grund för att kunna bedöma om de uppsatta kraven har uppfyllts i slutprodukten eller tjänsten.

Specifikationer
– Detaljerade beskrivningar av hur något ska vara
– Tydligt definierade egenskaper och beteenden
– Viktiga för enhetlig förståelse mellan aktörer
– Kan omfatta funktionalitet, prestanda, användarvänlighet och säkerhet

Vad är prestandakrav?

Prestandakrav beskriver specifika krav på hur bra ett system eller program måste prestera.

Det handlar om att fastställa och definiera mått och begränsningar för systemets kapacitet, hastighet och tillförlitlighet.

Prestandakrav används för att säkerställa att ett system kan hantera en viss mängd data, svara på användarinteraktioner inom en viss tid och fungera stabilt även under hög belastning.

Exempel på prestandakrav inkluderar responstider, genomströmning och minnesanvändning. Prestandakrav är avgörande för att säkerställa att systemet uppfyller användarens förväntningar och levererar en smidig och effektiv upplevelse.

Vad är säkerhets(kritiska) krav?

Säkerhets(kritiska) krav är specifika krav som syftar till att skydda systemet eller användarna från oavsiktliga eller skadliga händelser.

Dessa krav definierar vilka skyddsfunktioner och åtgärder som behöver implementeras för att garantera systemets integritet och användarnas säkerhet.

Exempel på säkerhetskrav kan inkludera autentisering och åtkomstkontroll, kryptering av data, skydd mot skadlig programvara och hantering av kritiska fel.

Vad är krav på användarvänlighet?

Krav på användarvänlighet fokuserar på hur en produkt eller ett system ska vara lätt att använda för slutanvändarna.

Det inkluderar faktorer som användarvänligt gränssnitt, intuitiv navigering och tillgänglighet.

Företag kan behöva genomföra användartester och använda feedback för att uppfylla dessa krav.

Exempel på krav på användarvänlighet inkluderar att användare ska kunna navigera genom produkten utan problem, att gränssnittet ska vara tydligt och intuitivt, och att produkten ska vara tillgänglig för användare med olika funktionshinder.

Icke funktionella krav

  • ✅ Icke funktionella krav beskriver systemets kvalitetsattribut och prestanda.
  • ✅ Exempel på icke funktionella krav inkluderar krav för säkerhet, tillgänglighet och användbarhet.
  • ✅ Icke funktionella krav påverkar varandra, t.ex. kan krav på prestanda påverka användbarheten.
  • ✅ Designbegränsningar är tekniska, affärsrelaterade eller kontraktsmässiga begränsningar för systemet eller utvecklingsprocessen.
  • ✅ Olika metoder kan användas för att formulera icke funktionella krav, t.ex. användarberättelser eller standarden IEEE 830.

Vanliga frågor

Vad är skillnaden mellan funktionella och icke-funktionella krav?

Funktionella krav beskriver hur systemet interagerar med användarna, medan icke-funktionella krav inte beskriver vad någon vill göra med systemet. Icke-funktionella krav inkluderar krav för prestanda, tillgänglighet och mer.

Kan du ge exempel på ett funktionellt krav?

Ett exempel på ett funktionellt krav är att en kund som bokar en evenemangsbiljett genom webbportalen ska få en bekräftelse via e-post för sin bokning.

Vilka är några vanliga typer av icke-funktionella krav?

Några vanliga typer av icke-funktionella krav inkluderar prestandakrav, tillgänglighetskrav och kvalitetsattribut som påverkar användarupplevelsen och systemets prestanda.

Hur kan man formulera kvalitetskrav?

Kvalitetskrav kan formuleras på olika sätt, till exempel genom att specificera svarstider från användarens perspektiv. Till exempel kan systemets svarstider vara under 2 sekunder i 90% av fallen under normal belastning (200 samtidiga användare).

Vad är designrelaterade begränsningar i samband med krav?

Designrelaterade begränsningar är tekniska, affärsrelaterade eller avtalsmässiga begränsningar för systemet och/eller utvecklingsprocessen. Exempel på sådana begränsningar kan vara att använda CSS v2.1 för alla stilmallar på webbsidor, eller att se till att systemet kan köras på en äldre plattform.

Hur påverkar kvalitetskrav varandra?

Kvalitetskrav påverkar ofta varandra. Till exempel kan maximal prestanda negativt påverka andra attribut, som tillgänglighet eller användarvänlighet.

Vad är syftet med att formulera krav?

Syftet med att formulera krav är att fånga de faktiska behoven inom affären och översätta dem till krav så att det resulterande systemet levererar som förväntat.

Välkommen till Projektledarbloggen!

Jag som skriver här heter Anders Gustafsson och jag har ett stort intresse för ledarskap och projektledarhantverket. Jag har alltid varit mer intresserad av komplexa funktioner och övergripande frågeställningar i produktutveckling än jag varit för detaljer. Den bilden har förstärkts när jag alltmer börjat intressera mig för människorna runt om mig och hur jag påverkar dem.

Min utbildningsbakgrund är en Civilingenjörsutbildning på Y-linjen i Linköping, doktorandstudier - som aldrig avslutades - och på senare år har jag läst ledarskap och psykologi på universitetsnivå.

Du hittar mer om mig om du följer länken till LinkedIn precis här nedanför.

Idag jobbar jag som projektledare hos en teknikkonsult i Stockholmsregionen och där jobbar jag, som jag gjort i många år, med produktutveckling.

Lämna en kommentar