primeri uporabe use cases tomaž domajnko zavedamo se da je za uspeh programskega projekta potrebno čim boljše razumevanje uporabniških zahtev in okolja programskega sistema spoznavanje problemskega področja uskladitev poimenovanja in določanje uporabniških zahtev so tri področja kjer koncem osemdesetih in v začetku devetdesetih let ni bilo pravih rešitev posamezne razvojne metodologije so predlagale različne rešitve nobena od rešitev pa ni bila dovolj splošna da bi jo prevzeli drugi metodologisti ali dovolj enostavna da bi jo lahko uporabili tudi uporabniki v začetku devetdesetih pa je ivar jacobson na področje informatike prinesel tehniko primerov uporabe kratek pregled tehnike tehnika temelji na grafičnem prikazu delovanja poslovnega sistema katero po potrebi dopolnimo z drugimi relevantnimi podatki osnovni namen primerov uporabe je zajemanje znanja saj predstavljajo metodo ki je blizu uporabniku hkrati pa je opis dovolj konsistenten za uporabo inženirskih pristopov vendar pa primere uporabe lahko uporabljamo tudi za ocenjevanje velikosti projekta in potrebnih virov komunikacijo s končnim uporabnikom in strankami identificiranje objektov v sistemu določanje funkcionalnosti objektov načrtovanje uporabniških vmesnikov definiranje interakcije med objekti in vmesniki objektov testiranje tehnika primerov uporabe je zaradi različnosti svetov uporabnikov in razvijalcev enostavna z modelom primerov uporabe zajamemo tisti del sistema ki nas trenutno zanima saj opišemo delovanje sistema in njegovo okolje na poslovanje gledamo kot na množico povezanih procesov procese modeliramo s pomočjo primerov uporabe okolje pa kot akterje ki sodelujejo v primerih uporabe model primerov uporabe mora opisuje procese kot so videti od zunaj z vidika tistega ki želi poslovne procese uporabljati od tu sledi tudi definicija primera uporabe po kateri mora vsaj eden od akterjev uporabljati proces ali skupino povezanih procesov in mora od procesa ov dobiti merljiv rezultat da ga jih modeliramo kot primer uporabe definicija akterja je da je to posameznik naprava ali drug sistem ki z našim sistemom komunicira in iz sistema dobi merljive rezultate sintaksa primerov uporabe povedali smo da primer uporabe modelira uporabo sistema kjer s pomočjo procesov določimo funkcionalnosti sistema s pomočjo akterjev pa modeliramo okolje s tem določimo načine komuniciranja uporabnikov s sistemom hkrati pa določimo komunikacijo med primeri uporabe v sistemu model sistema je sestavljen iz grafične predstavitve primerov uporabe in tekstnega opisa scenarijev primerov uporabe v primeru ko potrebujemo natančnejše informacije model dopolnimo tudi z objektnim in dinamičnim modelom ki natančno prikazujeta objekte ki so odgovorni za izvajanje primerov uporabe in medsebojno sodelovanje teh objektov iz opisanega lahko določimo osnovne komponente modela primerov uporabe tako grafična predstavitev lahko vsebuje naslednje komponente ni nujno da vsebuje vse akterje primere uporabe povezave med akterji in primeri uporabe povezave med primeri uporabe sisteme in podsisteme preden pa si pogledamo sintakso bolj natančno pa si polejmo kratek primer prikazuje model sistema bankomatov kjer stranka uporabnik bankomata lahko izvaja tri različne primere uporabe grafična slika prikazuje le povezanost posameznih elementov medtem ko strukturirano besedilo pojasnjuje natančno zaporedje dogodkov enega od scenarijev alternative pojasnjujejo vse možne izjemne dogodke ki se lahko dogodijo in s tem zmotijo osnovni tek scenarija scenarij za primer uporabe dvig denarja a stranka želi dvigniti denar b stranka vstavi kartico in bankomat preveri ali je kartica nepoškodovana c bankomat preveri ali je kartica veljavna rok veljavnosti d bankomat preveri ali je stanje na računu pozitivno e stranka vnese geslo f bankomat preveri pravilnost gesla g stranka izbere dvig denarja in vnese želeno vsoto h bankomat preveri ali stranka lahko dvigne želeno vsoto glede na dnevni limit in stanje na računu i stranka želi izpis potrdila o opravljeni transakciji j bankomat izvede dvig denarja iz računa natisne potrdilo in izplača denar stranki k primer uporabe je končan alternativa preverjanje kartice kartica je poškodovana ali neprava bankomat vrne kartico primer uporabe zaključen alternativa preverjanje kartice kartica je potekla bankomat zadrži kartico alternativa preverjanje računa račun je v nedovoljenem negativnem bankomat zadrži kartico alternativa preverjanje gesla geslo ni pravilno bankomat ponudi ponovni vnos gesla po treh napakah zadrži kartico alternativa preverjanje vsote dviga prekoračen je dnevni limit bankomat prekine transakcijo in ponudi dvig manjše vsote alternativa preverjanje vsote dviga bankomat nima denarja za izplačilo ponudi vsote katere lahko izplača sistem system sistem je koncept prikaza poslovanja saj mora biti modeliran sistem določen in omejen meja sistema mora biti jasno določena v večjih primerih lahko sistem razdelimo na podsisteme in s tem dobimo več bolj ali manj neodvisnih enot s pomočjo katerih lahko natančno modeliramo poslovni sistem akter actor da sestavimo pravilen model sistema je pomembno razumeti okolje to okolje sestavljajo akterji akter predstavlja tiste posameznike sisteme ali stroje v okolju ki komunicirajo s poslovnim sistemom in katere hočemo modelirati akter predstavlja abstrakcijo uporabnika sistema predstavlja lahko mnogo različnih tipov primerkov v okolju to so lahko ljudje in predmeti kot so stroji računalniška opravila in drugi sistemi pravilneje akterja opredelimo kot vlogo ki jo ima entiteta za naš sistem neka oseba lahko igra več vlog in tako predstavlja več akterjev oseba je lahko sistemski administrator administrator baze kakor tudi končni uporabnik nobena entiteta ki je posredno vezana na sistem ni akterj ker lahko komunicira s sistemom le preko akterjev in jih ne modeliramo vsak akter uporablja sistem na različne načine sicer se akterji ne bi razlikovali primer uporabe use case primer uporabe je zaporedje transakcij v sistemu katerega naloga je da akterju vrača rezultate ki jih lahko ovrednoti primer uporabe opisuje mogoč tok interakcije med sistemom in enim ali več akterji kot odgovor na začetno stimulacijo določenega akterja to ni enovit scenarij temveč opis množice potencialnih scenarijev vsak se začne z neko začetno stimulacijo enega od akterjev in vodi do nekega logičnega zaključka normalno se vsak primer uporabe osredotoči na nek namen ki je pomemben določenemu akterju torej je primer uporabe zaporedje interakcij med iniciatorjem in sistemom ki pa lahko vključuje tudi druge akterje primer uporabe sledi toku kontrole v sistem in iz sistema sistem opazujemo kot črno škatlo primer uporabe lahko vsebuje izbire iteracije in parametre je opis množice različnih scenarijev na enak način kot je recimo razred opis množice objektov za vsak model primerov uporabe bi naj bilo število mogočih scenarijev in objektov končno našteti je potrebno vse primere uporabe sistema da razumemo delovanje sistema povezave diagrama primerov uporabe prikazujejo povezanost elementov diagramov primerov uporabe poznamo naslednje relacije komunicira communicate sodelovanje akterja v primeru uporabe prikažemo z neprekinjeno povezavo med simbolom akterja in simbolom primera uporabe akter komunicira s primerom uporabe razširja extends je povezava med primeri uporabe prikažemo jo z usmerjeno povezavo od primera uporabe ki zagotavlja razširitev k osnovnemu primeru uporabe relacija razširja od primera uporabe a do primera uporabe b pomeni da izvajanje primerka primera uporabe b lahko vsebuje ni pa obvezno obnašanje ki je vsebovano v primeru uporabe a to pomeni da primer uporabe a razširja tok dogodkov primera uporabe b uporablja uses je povezava med primeri uporabe prikažemo jo z usmerjeno povezavo od primera uporabe ki uporablja drug primer uporabe povezava uses med primeroma uporabe a in b določa da primerek primera uporabe a v svojem delovanju vsebuje tudi delovanje primerka primera uporabe b razlika med relacijo uporablja in vsebuje je da relacijo vsebuje uporabimo kadar imamo primer uporabe ki je podoben drugemu primeru uporabe toda dela nekaj več relacijo uporablja imamo kadar je obnašanje primera uporabe skupno več kot le enemu primeru uporabe avtorizacija kot zaporedje dogodkov se izvede kot del zaporedja dogodkov v primerih uporabe dvig denarja polog denarja in informacije o stanju na računu primeri uporabe in objekti primeri uporabe in objekti priskrbijo komplementarni pogled na aplikacijo primeri uporabe so pogled končnega uporabnika na sistem omogočajo da razumemo uporabnikove zahteve za aplikacijo medtem ko so objekti pogled načrtovalca na sistem torej interni pogled na poslovni sistem skozi objekte lahko razumemo strukturo sistema in interakcijo med raznimi deli nekateri končni uporabniki razumejo objektne modele vendar se v splošnem končni uporabniki ne spuščajo v podrobnosti objektnega modeliranja primeri uporabe in objekti so povezani tako da primeri uporabe predstavljajo orodje za identifikacijo objektov to naredimo tako da identificiramo objekte ki omogočajo primere uporabe nadalje lahko izpeljemo iz modela primerov uporabe tudi interakcijo med objekti dedovanje razredov in vsebovanost objektov v drugem objektu ker primeri uporabe definirajo funkcionalnost ki bi naj bila implementirana z nekimi objekti lahko prav tako iz njih izpeljemo odgovornosti objektov katere zasledimo v modelih primerov uporabe najbolj zanimive objektne interakcije in hierarhije razredov so te ki se pojavljajo v večjem številu primerov uporabe nov koncept za abstraktne primere uporabe te vrste so vzorci vzorec je načrt skica nekega abstraktnega primera uporabe ali osnovni abstraktni primer uporabe ker vzorci tipično ne pripadajo točno določenemu področju neke aplikacije ta koncept dvojnosti med primeri uporabe in objekti nam služi kot pogon pri prehodu med uporabniškim vidikom in vidikom načrtovalca objektni model primerov uporabe objektni model primerov uporabe je sestavljen iz treh vrst objektov vmesniških objektov interface object kontrolnih objektov control object entitetnih objektov entity object vmesniški objekt kontrolni objekt entitetni objekt vmesniški objekt predstavlja komunikacijo sistema z okoljem praviloma sodeluje v večih primerih uporabe in je del poslovnega procesa ki je viden zunanjemu uporabniku pri tem pa predstavlja opravilo task poslovnega procesa ne predstavlja tipa sredstva resursa kontrolni objekt predstavlja abstrakcijo množice operacij v sistemu ne komunicira pa neposredno z okoljem največkrat predstavlja posebna opravila ki se vršijo brez vednosti stranke zavzema aktivno vlogo v toku dogodkov sodelovanje nadzor entitetni objekt predstavlja predmete in pojme s katerimi sistem manipulira hkrati lahko sodeluje v večih primerih uporabe največkrat so izraženi v obliki pasivnih predmetov račun delovni nalog ne pa aktivnih sredstev človek naprava povezava med primeri uporabe in objektnim modelom množica objektov omogoči primer uporabe medtem ko lahko en objekt nastopa v več primerih uporabe za vsak primer uporabe poiščemo potrebne objekte tako da mora vsak objekt izvrševati vse odgovornosti ki so od njega zahtevane v primerih uporabe v katerih sodeluje dinamični model primerov uporabe dinamični model primerov uporabe prikazuje dinamično komponento modeliranega sistema modeliramo ga na podlagi primerov uporabe in objektnega modela z namenom boljšega razumevanja problemskega področja vsebuje diagrame sledenja dogodkom podaja natančno sliko teka dogodkov med objekti prikazuje realizacijo primera uporabe z komunikacijo objektov in diagrame prehajanja stanj predstavlja diagram stanj za določeno skupino objektov izdelamo ga na podlagi diagramov sledi dogodkov tako da identificiramo dogodke ki vplivajo na posamezne objekte v prispevku smo na kratko prikazali tehniko primerov uporabe ki se vse bolj uveljevlja na področjo razvoja programskih sistemov enostavnost tehnike dovoljeje neveščim uporabnikom sodelovanje v razvojnem procesu razvijalcem pa ponuja obilico pre potrebnih informacij o zahtevanih funkcionalnostih in okolju programskega sistema z uveljavitvijo jezika za objektno modeliranje uml unified modelling language pa postajajo primeri uporabe osnovni element objektnega modeliranja saj jezik uml kot diagramsko tehniko vsebuje tudi primere uporabe jezik uml sicer ni neposredno vezan na razvojni proces dovoljuje uporabo poljubnega razvojnega procesa vendar v predlaganem zaželjenim razvojnem procesu rational objectory primeri uporabe dobivajo osrednjo vlogo za proces rational objectory lahko rečemo da je arhitekturno voden usmerjan s primeri uporabe iterativen in inkrementalen pri tem pa prav primeri uporabe predstavljajo temelj razvojnih aktivnosti opomba kakšna je razlika med metodologistom in teroristom s teroristom se lahko pogajaš vaše mnenje o prispevku splošno odličen vreden branja ni vreden branja dolžina predolg ravno prav prekratek strokovnost preveč strokoven ravno prav preveč splošen opombe vaše ime priimek e pošta podjetje