Kasutusmall

Kasutusmall ehk kasutusstsenaarium (ingl "use case") on käitumismudeli liik, milles kirjeldatakse nõudeid, mis esitatakse süsteemi käitumisele ja kasutamisinteraktsioonile. Kasutusmalli kasutatakse tarkvaraarenduses, et dokumenteerida ja modelleerida süsteemi toimimist eri olukordades. Kasutusstsenaariumi eesmärgiks on lihtsustatud ja struktureeritud ühtne arusaamine ja ülevaade projektist, tuues välja süsteemi kasutatavuse ning interaktsiooni nii kasutaja tasemel kui ka teiste süsteemidega ning koondades ideid .
Ajalugu.
Esimesena võttis kasutusmalli kontseptsiooni kasutusele Ivar Jacobson 1987. aastal.
Üldpõhimõtted.
Kasutusmall on üldine ja ülevaatlik, näidates kuidas süsteemi toimib erinevates olukordades, kuid stsenaariumis ei täpsustata millist programmeerimiskeelt kasutatakse või mida lõppkasutaja parasjagu rakenduse ekraanil näeb. 
Kasutusstsenaariumid on välja töötatud süsteemi toimimise kirjeldamiseks, nende dokumenteerimine aitab analüüsida süsteemi potentsiaalseid tõrkeid ja vigu. Dokumendid sisaldavad süsteemi eesmärke, mis aitavad määratleda, millised funktsioonid peaksid saama süsteemi nõueteks ja olema arenduseks valmis.
Kasutusmallil on mitmeid tasemeid. Lihtsaim stsenaarium sisaldab kirjeldust, osalejaid ja peamist edukat stsenaariumi, detailsem lähenemine kirjeldab iga sammu põhjalikumalt, luues vajadusel iga sammu jaoks eraldi kasutusmalli. Põhjalikumad kirjeldused käsitlevad ka alternatiivseid kasutaja või süsteemi poolt tehtavaid samme, mis ei vii soovitud tulemuseni, kuid on siiski süsteemis võimalikud. 
Igal kasutusstsenaariumi juures peaksid olema lisatud järgmised kategooriad:
Kui kasutusmall on kujutatud skeemina, lisatakse sinna ka ja/või operaatorid, et selgitada, kuidas erinevad kasutusmallid teineteist mõjutavad: “või” operaatori kasutatakse alternatiivse valikute puhul ning “ja” operaatorit teise võrdselt vajaliku kasutusmalli jaoks .
Kasutusmalli kirjutamine.
Kasutusmalle on väga erinevaid, nende tasemed ja keerukus võivad varieeruda üldisest kuni väga detailsete kirjeldusteni. Süsteemi kasutusstsenaariumi loomiseks saab kasutada järgnevat kuut etappi: 
Eelised.
Läbi ekstreemprogrammeerimise on populaarsust kogunud kasutajalugude kasutamine, mis on ekstreemoprogrammeerimises planeerimisfaasi keskmine osa . Alistair Cockburn toob välja viis põhjust, miks ta kasutab kasutusmalle agiisles arenduses:
Kasutusmallide fookus on kasutajate vajadustel ja nõuetel, aidates arendada funktsioone ja süsteeme, mis vastavad tegelikele kasutajate ootustele ja vajadustele. Lisaks on kasutusmallid kirjutatud peamiselt jutustavas keeles, mistõttu on nad arusaadavad nii programmeerijale kui ka lõppkasutajale ning projekti tellivale firmale. Neid saab kohandada vastavalt projekti vajadusele, ülevaatlikust stsenaariumikirjeldusest kuni süsteemi detailsema tehnilise kirjelduseni.
Kasutusstsenaariumeid saab mugavalt kirjutada ümber ka testmallideks, kui vaadata peamist stsenaariumit ja alternatiivseid stsenaariume ning lisada neile juurde testandmed .
Kasutusmalli mudel.
Kasutusmallskeem on skeem, mis kirjeldab süsteemi käitumist välisvaate perspektiivist, illustreerides kasutusmustrite ja nende loojate vahelisi seoseid. . 
Kasutusmallide diagrammil on neli peamist elementi: 
Üks võimalus kasutusmallide modelleerimiseks on kasutada unifitseeritud modelleerimikeelt (UML).
UML.
Unifitseeritud modelleerimiskeel (ingl "Unified Modeling Language") on üldotstarbeline noteeringukeel keerulise tarkvara, peamiselt suurte objektorienteeritud projektide spetsifitseerimiseks ja visualiseerimiseks . UML põhineb sellistel vanematel noteeringumeetoditel nagu Booch, OMT ja OOSE .
Kasutusmallist mudeli loomine.
Kasutusstsenaariumi tekstist luuakse tavaliselt ka mudel. Mudeli koostamise etapid on järgmised: