Funktionella vs icke-funktionella krav

Nyckelskillnad mellan funktionella och icke-funktionella krav

  • Ett funktionskrav definierar ett system eller dess komponent, medan ett icke-funktionellt krav definierar prestandaattributet för ett mjukvarusystem.
  • Funktionskrav, tillsammans med kravanalys, hjälper till att identifiera saknade krav, medan fördelen med icke-funktionella krav är att det hjälper dig att säkerställa en bra användarupplevelse och enkel användning av programvaran.
  • Funktionskrav är ett verb, medan icke-funktionellt krav är ett attribut
  • Typer av icke-funktionella krav är skalbarhet, kapacitet, tillgänglighet, tillförlitlighet, återställbarhet, data Integrity, etc., medan transaktionskorrigeringar, justeringar och annulleringar, affärsregler, certifieringskrav, rapporteringskrav, administrativa funktioner, behörighetsnivåer, revisionsspårning, externa gränssnitt, hantering av historisk data, juridiska eller regulatoriska krav är olika typer av funktionskrav.
Funktionella vs icke-funktionella krav
Skillnad mellan funktionella och icke-funktionella krav

Vad är ett funktionskrav?

Inom programvaruteknik, a funktionskrav definierar ett system eller dess komponent. Den beskriver de funktioner en programvara måste utföra. En funktion är inget annat än ingångar, 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 i mjukvaruteknik hjälper dig att fånga systemets avsedda beteende. Detta beteende kan uttryckas som funktioner, tjänster eller uppgifter eller vilket system som krävs för att utföra.

Vad är icke-funktionella krav?

A icke-funktionella krav definierar kvalitetsattributet för ett mjukvarusystem. De representerar en uppsättning standarder som används för att bedöma den specifika driften av ett system. Exempel, hur snabbt laddas webbplatsen?

Ett icke-funktionellt krav är väsentligt för att säkerställa användbarheten och effektiviteten hos hela mjukvarusystemet. Att misslyckas med att uppfylla icke-funktionella krav kan resultera i system som inte uppfyller användarnas behov.

Icke-funktionella krav låter dig införa begränsningar eller restriktioner för systemets design över de olika agila eftersläpningarna. Exempelvis bör sajten laddas inom 3 sekunder när antalet samtidiga användare är > 10000 XNUMX. DescriptIcke-funktionella krav är lika kritiska som ett funktionskrav.

Exempel på funktionskrav

Här är några exempel på funktionskrav inom mjukvaruteknik:

  • 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.

Exempel på icke-funktionella krav

Här är några exempel på icke-funktionella krav inom mjukvaruteknik:

  1. Användare måste ändra det initialt tilldelade inloggningslösenordet omedelbart efter den första lyckade inloggningen. Dessutom bör initialen aldrig återanvändas.
  2. Anställda får aldrig uppdatera sina löneuppgifter. Sådant försök ska rapporteras till säkerhetsadministratören.
  3. Varje misslyckat försök av en användare att få tillgång till en datapost ska registreras i ett revisionsspår.
  4. En webbplats bör vara kapabel nog att hantera 20 miljoner användare med att påverka dess prestanda
  5. Programvaran ska vara portabel. Så att flytta från ett OS till ett annat skapar inga problem.
  6. Sekretess för information, export av begränsad teknik, immateriella rättigheter etc. bör granskas.

Skillnad mellan funktionella och icke-funktionella krav

Nedan är huvudskillnaden mellan funktionella och icke-funktionella krav inom mjukvaruteknik:

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 Testexekvering görs före icke-funktionell testning. Efter funktionstestet
produkt~~POS=TRUNC Produktegenskaper Produktegenskaper

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 för enkel projektledning
  • Funktionella krav kan uttryckas i Use Case-formulär eller användarberättelse eftersom de uppvisar externt synligt funktionellt beteende.

Fördelar med icke-funktionella krav

Fördelar/fördelar med icke-funktionell testning i mjukvaruutveckling är:

  • De icke-funktionella kraven säkerställer att mjukvarusystemet följer lagar och efterlevnadsregler.
  • De säkerställer tillförlitligheten, tillgängligheten och prestanda för mjukvarusystemet
  • De säkerställer en bra användarupplevelse och enkel användning av programvaran.
  • De hjälper till att formulera säkerhetspolicyn för mjukvarusystemet.