Systemkrav kan kategoriseras på flera sätt, men faller i allmänhet under två huvudparaplyer:
Funktionella krav och
icke-funktionella krav . Dessa delas vidare upp i mer specifika typer.
i. Funktionella krav: Dessa beskriver * vad * systemet ska göra. De anger systemets funktionaliteter och funktioner. Exempel inkluderar:
* Användarkrav: Beskriv hur användare kommer att interagera med systemet. Dessa uttrycks ofta i användarhistorier (t.ex. "Som användare vill jag kunna logga in med min e -postadress och lösenord").
* Affärskrav: Definiera systemets roll för att uppnå affärsmål. (Till exempel "Systemet måste behandla minst 1000 transaktioner per sekund.")
* Systemkrav: Detaljerade specifikationer för systemets funktioner och funktioner, ofta uttryckta i mer tekniska termer. (Till exempel "Systemet ska stödja samtidig åtkomst av 100 användare.")
* gränssnittskrav: Ange hur systemet interagerar med andra system eller användare. Detta inkluderar användargränssnitt (UI), externa gränssnitt (API) och databasgränssnitt. (Till exempel "Systemet ska integreras med det befintliga CRM -systemet via ett RESTful API.")
ii. Icke-funktionella krav: Dessa beskriver * hur * systemet ska fungera. De definierar kvaliteter och egenskaper hos systemet, såsom prestanda, säkerhet och användbarhet. Exempel inkluderar:
* Prestandakrav: Beskriv systemets hastighet, effektivitet och skalbarhet. (Till exempel "Systemet ska svara på användarförfrågningar inom 2 sekunder.")
* Säkerhetskrav: Definiera hur systemet skyddar data och förhindrar obehörig åtkomst. (Till exempel "Systemet ska använda HTTPS -kryptering för alla dataöverföringar.")
* Användbarhetskrav: Ange hur enkelt systemet är att använda och lära sig. (Till exempel "Systemet ska ha ett intuitivt användargränssnitt och kräver minimal utbildning.")
* Krav på tillförlitlighet: Beskriv systemets förmåga att arbeta utan misslyckande. (Till exempel "Systemet ska ha 99,9% drifttid.")
* Krav på underhåll: Ange hur enkelt systemet är att underhålla och uppdatera. (t.ex. "Systemet ska vara utformat för att möjliggöra enkel modifiering av befintlig kod.")
* Portabilitetskrav: Beskriv systemets förmåga att köra på olika plattformar eller miljöer. (t.ex. "Systemet ska vara kompatibelt med Windows, MacOS och Linux.")
* Skalbarhetskrav: Beskriv systemets förmåga att hantera ökande arbetsbelastningar. (Till exempel "Systemet ska kunna hantera 10 000 samtidiga användare.")
* Tillgänglighetskrav: Beskriv systemets drifttid och tillgänglighet. (t.ex. "Systemet ska vara tillgängligt dygnet runt.")
* regleringskrav: Beskriv efterlevnadskrav som ställs av lagar eller branschstandarder. (Till exempel "Systemet måste följa HIPAA -föreskrifter.")
Det är viktigt att notera att dessa kategorier inte alltid är ömsesidigt exklusiva; Vissa krav kan sträcka sig över flera kategorier. En väldefinierad uppsättning krav är avgörande för framgångsrik mjukvaruutveckling. De specifika typerna av krav som behövs kommer att variera beroende på systemets komplexitet och syfte.