Erabilpen kasu

Software eta sistemen ingeniaritzan, **erabilpen kasua** bi zentzuko poliseme bat da:

# Software-zati baterako erabilera-agertokia; askotan pluralean erabiltzen da, software-zati bat zein egoeretan erabilgarri dagoen iradokitzeko.
# Sistema batek kanpoko eskaera bat (adibidez, erabiltzailearen sarrera) jaso eta hari erantzuten dion egoera potentziala.

Artikulu honek azken zentzu hori eztabaidatzen du.

Erabilpen-kasu bat ekintzen edo urratsen zerrenda bat da, eta normalean rol baten (Modelaketarako lengoaia bateratuan (UML) aktore gisa ezaguna) eta helburu bat lortzeko sistema baten arteko elkarrekintzak definitzen dituzte. Aktorea gizakia edo kanpoko sistema bat izan daiteke. Sistemen ingeniaritzan, erabilpen-kasuak software-ingeniaritzan baino maila handiagoan erabiltzen dira, eta, askotan, alderdi interesdunen misioak edo helburuak adierazten dituzte. Zehaztutako baldintzak sistemak modelatzeko lengoaian (SysML) edo kontratu-adierazpen gisa har daitezke.

[eskuinera|thumb| [Wiki sistema baten erabilera kasu diagrama oso erraza.]]

## Historia 
1987an, Ivar Jacobsonek erabilpen-kasuei buruzko lehen artikulua aurkeztu zuen OOPSLA'87 konferentzian. Teknika hori Ericssonen sistema baten eskakizunak atzemateko eta zehazteko, testu-, egitura- eta modelatze-teknika bisualak erabiliz, objektuetara bideratutako analisia eta diseinua bultzatzeko nola erabili zen azaldu zuen. Hasiera batean, *usage scenarios* eta *usage case* erabili zituen —azken hori Suediako användningsfall terminoaren itzulpen zuzena—, baina ingelesez termino horietako bakar bat ere naturala ez zela ikusi zuen, eta, azkenik, *use case* ezarri zuen.

*1992an Object-Oriented Software Engineering - A Use Case Driven Approach* liburua idatzi zuen  , OOSE sistemaren ingeniaritza metodoaren oinarriak finkatu zituen eta eskakizun funtzionalak atzemateko erabilera kasuak ezagutzera ematen lagundu zuen, batez ere softwarearen garapenean . 1994an liburu eredu bat argitaratu zuen negozio ereduetara eta negozio prozesuen berringeniaritzara aplikatutako erabilera kasuei eta objektuetara bideratutako teknikei buruz. 

Aldi berean, Grady Booch-ek eta James Rumbaugh-ek objektuetara bideratutako analisi eta diseinu metodoak batzen aritu ziren. Metodo horiek Booch metodoa eta Object Modeling Technique (OMT) ziren hurrenez hurren. 1995ean Ivar Jacobson batu zitzaien eta elkarrekin Unified Modelling Language (UML) sortu zuten, erabilpen kasuen modelatzea barne hartzen duena. UML Object Management Group-ek (OMG) estandarizatu zuen 1997an.  Jacobson, Booch eta Rumbaugh *Objectory software development process-a hobetzen* ere aritu ziren. Horren guztiaren ondorioz lortutako Prozesu Bateratua 1999an argitaratu zen eta erabilpen kasuen ikuspegia bultzatu zuen. 

Orduz geroztik, egile asko aritu dira teknika garatzen, batez ere: Larry Constantinek 1995ean, erabileran oinarritutako diseinuaren testuinguruan, "funtsezko erabilpen-kasuak" deiturikoak definitu zituen, ekintzen sekuentziak edo erabiltzaile interfazearen diseinua mugatu edo alboratu dezaketen eszenatokiak deskribatu beharrean, erabiltzailearen asmoak deskribatzea helburu dutenak;  Alistair Cockburn- ek 2000. urtean testu-narrazioetan eta taulako zehaztapenetan oinarritutako erabilpen kasuen praktika bat argitaratu zuen;  Kurt Bittner eta Ian Spence-k 2002an eskakizun funtzionalak erabilera kasuekin aztertzeko praktika aurreratuak garatu zituzten;  Dean Leffingwell-ek eta Don Widrig-ek erabilpen kasuak kudeaketa eta interes-taldeen komunikazio jarduerak aldatzeko erabiltzea proposatu zuten;  Gunnar Overgaard-ek 2004an diseinu-ereduen printzipioak erabilpen kasuetara hedatzea proposatu zuen. 

2011n, Jacobsonek Ian Spence-rekin eta Kurt Bittner-ekin *Use Case 2.0* ebook-a argitaratu zuen teknika testuinguru bizi batera egokitzeko, erabilpen kasuzko "zati" gehigarriekin aberastuz eta garapen osoko bizitza ziklo osoan erabilera sustatuz urteko IIBA kongresuan ikuspegi berritua aurkeztu ondoren .  

## Printzipio orokorra 
Erabilpen kasuak sistema baten eskakizunak atzemateko, modelatzeko eta zehazteko teknikak dira.  Erabilpen kasu bat sistemak aktorearekiko elkarrekintzan burutu behar dituen zenbait jokabideren multzoari dagokio, eta honek bere helburuetan laguntzen duen eta behatu daitekeen emaitza sortzen du. Aktoreek giza-erabiltzaileek edo beste sistema batzuek elkarrekintzan duten rola irudikatzen dute.

Eskakizunen analisian, eta hauen identifikazioan, erabilpen-kasuaren izendatzea oinarrizko aktorearentzat egiten den erabiltzaile-helburu zehatzaren arabera egiten da. Kasua testu deskribapenarekin edo jarduera eta gertakarien sekuentzia orokorra azaltzen duten eredu grafiko osagarriekin zehazten da, baita baldintza bereziak, salbuespenak edo akats egoerak bezalako aldaerak ere.

Software Engineering Body of Knowledge-en (SWEBOK) arabera,  erabilpen kasuak eszenatokietan oinarritutako eskakizunak lortzeko tekniken eta ereduetan oinarritutako analisi tekniken barne dira. Erabilera kasuek narrazioan oinarritutako eskakizun bilketak, eskakizunen eskuraketen gehikuntza, sistemaren dokumentazioa eta onarpen probak ere onartzen dituzte. 

## Abantailak 
Mugimendu arina sortu zenetik, Extreme Programming-eko user story teknika hain da ezaguna, ezen askok proiektu guztien eskakizun arinetarako irtebide bakartzat eta hoberentzat hartzen duten. Alistair Cockburn-ek berak erabilpen-kasuak oraindik ere agile development-ean erabiltzearen bost arrazoi zerrendatzen ditu. 

# Helburuen izenen zerrendak sistemak eskainiko duenaren laburpen *laburrena ematen du* (user stories-ak baino). Gainera, proiektuaren plangintza eskeletoa eskaintzen du, hasierako lehentasunak, kalkuluak, taldeen esleipena eta denborak eraikitzeko erabiliko dena.
# Erabilpen kasu bakoitzaren arrakasta eszenatoki nagusiak sistemak funtsean zer egingo duen eta zer egingo ez duen ematen die inplikatutako guztiei. Lerro-elementu bakoitzaren eskakizun zehatzen testuingurua eskaintzen du, beste inon lortzea oso zaila den testuingurua.
# Erabilpen kasu bakoitzaren luzapen baldintzek nolabait garapen denboraren eta aurrekontuaren % 80 hartzen duten gauza txiki eta zorrotz guztiak ikertzeko esparrua eskaintzen dute. Aurrera begiratzeko mekanismoa eskaintzen du, beraz, interesdunek erantzunak lortzeko denbora asko behar ditzaketen arazoak antzeman ditzakete. Gai horiek ezarritakoa baino lehen kudeatu daitezke edo lehenago kudeatu beharko liratek, era horretan garapen taldea lantzen hasten denean erantzunak prest egon daitezen.
# Erabilera kasuen luzapen eszenatokien zatiek negozio galdera zehatz, askotan korapilatsu eta ezikusiei erantzuten diete: "Zer egin behar dugu kasu honetan?" Programatzaileei gaien bidez pentsatzen laguntzen dien if ... then ... else adierazpenarekin bat datorren pentsamendu / dokumentazio esparrua da.
# Erabilpen kasu multzo osoak ikertzaileek erabiltzaile guztien beharrak, sistemarekiko dituzten helburu guztiak eta inplikatutako negozio aldaera guztiak pentsatu dituztela erakusten du.

Laburbilduz, erabilpen kasuetan sistemaren eskakizunak zehazteak, ikuspen tradizionalarekin edo bestelakoekin alderatuz, abantaila hauek ditu:

### Erabiltzailera bideratuta
Erabilera kasuak software eskakizunen zehaztapen prozesurako tresna indartsu eta erabiltzaile-zentrikoa dira.  Erabilpen kasuen modelizazioa sistemarekin elkarreragiten duten interes-talde garrantzitsuen rolak ( *aktoreak* ) eta sistemak bete behar dituen helburuak identifikatzetik abiatzen da normalean. Erabiltzaileen helburu horiek sistemak eskainitako ezaugarri funtzionalen edo zerbitzuek adierazten dituzten erabilpen kasuen izenak edo izenburuak lortzeko hautagai ezin hobeak bilakatzen dira. Erabiltzailea ardatz duen ikuspegi honek negozioaren benetako balioa eta erabiltzaileak benetan nahi duena garatzen dela ziurtatzen da, ez garatzaile edo sistemaren (barruko) ikuspegitik espekulatutako funtzio hutsalak.

### Komunikazio hobea
Erabilpen kasuak egituradun txantiloilekin hizkuntza naturaletan idatzi ohi dira. Testu forma narratibo honek, ia guztiek ulertzeko modukoak, UML ikusizko diagramekin osatuta, eragile guztien artean komunikazio hobeak eta sakonagoak bultzatzen dituzte , bezeroak, azken erabiltzaileak, garatzaileak, testeatzaileak eta kudeatzaileak barne. Komunikazio hobeek kalitate eskakizunak eta, beraz, kalitate sistemak ematen dituzte.

### Kalitate-eskakizunak esplorazio egituratuaren bidez
Erabilpen kasuen inguruko gauzarik indartsuenetako bat erabilpen kasuen txantiloien formatuetan datza, batez ere arrakasta eszenatoki nagusia (oinarrizko fluxua) eta luzapen eszenatoki zatiak (luzapenak, salbuespenezko eta / edo fluxu alternatiboak). Normalean ezkutatuta eta baztertuta dauden, itxuraz hutsalak baina errealki askotan garestiak diren eskakizunak identifikatzeko erabilera kasu bat pausoz pauso aurretiko baldintzetatik post baldintzetara aztertzea, erabilera kasuen fluxuen ekintza urrats guztiak aztertuz eta ikertuz, oinarrizkoetatik luzapenetara,  (Cockburn-ek aipatu zuen bezala), eskakizun argi, egonkor eta egokiak modu egituratu eta onuragarrian lortzeko modua da.

Erabiltzailearen helburua lortzeko erabilpen kasu baten ekintza urratsak minimizatzeak eta optimizatzeak sistemaren elkarrekintza diseinu hobea eta erabiltzaile esperientzia hobea lortzen laguntzen dute.

### Probak eta erabiltzailearen dokumentazioa erraztea
Edukia ekitza edo gertaeren fluxuan oinarrituta, ondo idatzitako erabilpen kasuen ereduak oinarri bikain eta jarraibide baliotsutzat balio dute proba kasuen diseinurako edo eta produktuaren erabiltzaileen eskuliburuak diseinatzeko, hau da, egindako esfortzuak merezi du, etorkizunerako inbertsio bat baita. Erlazio nabariak daude erabilera kasu baten eta bere proba kasuen fluxu bideen artean. Erabilpen kasu baten eszenatokietatik (erabilpen kasu baten instantziak exekutatuz) proba kasu funtzionalak sortzea erraza da. 
 
## Erreferentziak 
## Kanpo estekak