(Kasutatud on Penker'i UML Toolkit-i, Fowler'i UML Destilled ja Larman'i Applying UML and Patterns)

Similar documents
UML keel Kasutusmallid

Maitsjast maitseni Santa Maria moodi. Rainer Tammet 29. aprill 2015

Kursuseprogrammide haldamise keskkonna nõuete analüüs ja disain

TARTU ÜLIKOOL Matemaatika-informaatikateaduskond Arvutiteaduse instituut. Referaat. XP vs. RUP. Autor: Martin Mäe. Juhendaja: Erik Jõgi

Data Mining Research Project Report Generating Texts in Estonian Language. Author: Robert Roosalu Supervisor: Tambet Matiisen

KÄSIRAAMAT. Organisatsiooni ARENDAMINE. KIRJUTAS Kristina Mänd

Bo Hejlskov Elvén ja Tina Wiman PAHURAD LAPSED. Miks lapsed tujutsevad ja kuidas sellega toime tulla?

Meeskonnatöö mängude kogumik

Mobiiliäpid turunduses must auk?

OMA HALDJARIIKI KAITSTES

Infootsing ravijuhendite koostamiseks. Ravijuhendid. Pärnu Otsime: ravijuhendeid. süstemaatilisi ülevaateid

Lev Võgotski teooria täna

NÜÜDISKULTUURI HÄÄLEKANDJA KUUEKÜMNE NELJAS NUMBER : MAI 2017 HIND 2 #64 : RÄNNUD

Humanistlikud pedagoogilised süsteemid II. Ene-Silvia Sarv Kursus: kasvatusteadus ja kasvatusfilosoofia Kasvatusteaduste Instituut 2009

Andmebaaside projekteerimiseks kasutatavad mudelid

1. Eesmärgid. 2. Infosüsteemi arendamine. Joonised. TTÜ: Andmebaaside projekteerimine.

TALLINNA TEHNIKAÜLIKOOL INTELLIGENTSED SÜSTEEMID*

TAJU STRUKTUUR ARISTOTELESE FILOSOOFIAS

From the brain to intelligent systems: The attenuation of sensation of self-generated movement

Tarkvara protsessid, kvaliteet ja standardid

KORPORATIIVBRÄNDI KASUTAMINE ÄRITURUL AS SCANDAGRA JUHTUM USING CORPORATIVE BRAND ON THE BUSINESS MARKET THE CASE OF AS SCANDAGRA

Ajakiri Sotsiaaltöö 2001/5 Eessõna

Kasutatava tarkvara võrdlus andmeohje aspektist

HeaKodanik nr. Kuidas levivad. teadmised, huvi ja oskused? november EMSLi ajakiri kodanikuühiskonnast

Kognitiivse pöörde puhul ei saa vist väita, et pööre puudutas ainult

MAJANDUSLIKE OSTUOTSUSTE MÕJUTAMINE AASTASTE NOORTE NÄITEL

ONLINE KASSASÜSTEEMIDE KASUTAMISE VÕIMALUSED EESTI TOITLUSTUSETTEVÕTETES

KUIDAS MUUTA MEIE IDEID SELGEKS *

TÖÖTAJATE RAHULOLU- JA MOTIVATSIOONIUURING OÜ KÄPP GRUPP NÄITEL EMPLOYEE MOTIVATION AND JOB SATISFACTION IN THE EXAMPLE OF KÄPP GRUPP

VARIATIONS IN TACTILE SIGNING THE CASE OF ONE-HANDED SIGNING

SÕNAJÄRG, INFOSTRUKTUUR JA OBJEKTI KÄÄNE EESTI KEELES

Kultuur ja isiksus. Jüri Allik, Anu Realo. Teaduse sõjad

Eesti Ettevõtluskõrgkool Mainor. Ettevõtluse Instituut Turunduse eriala

Nutiseadmete kasutajate turvateadlikkuse ja turvalise käitumise uuring. Uuringuaruanne TNS Emor. Tellija: Riigi Infosüsteemi Amet

Praktilised meetodid programmeeritava loogikakontrolleri tarkvara testimiseks

TARTU ÜLIKOOL Sotsiaal- ja haridusteaduskond Sotsioloogia ja sotsiaalpoliitika instituut

IGAMEHE-AJAKIRJANDUS RADA7 KOGUKONNA NÄITEL

NÜÜDISKULTUURI HÄÄLEKANDJA KOLMEKÜMNE VIIES number : JUUNI/JUULI 2014 HIND 2 / VABALEVIS TASUTA #35

TEADUSLIKU MÕTLEMISE ALUSED

NÜÜDISKULTUURI HÄÄLEKANDJA NELJAKÜMNE KOLMAS number : APRILL 2015 HIND 2 #43

Nõustamise alused Abimaterjal õppenõustamiskeskustele

Innovatiivse teenuse väärtusloome Fits.me juhtumi näitel

Hea lugeja! Edu ja jõudu valitud teel! Kaidi Holm

TARTU ÜLIKOOLI NARVA KOLLEDŽ EESTI KEELE JA KIRJANDUSE LEKTORAAT

TARTU ÜLIKOOL. Sotsiaal- ja haridusteaduskond. Sotsioloogia ja sotsiaalpoliitika instituut. Lenneli Noobel

Lülisamba traumaatiline vigastus (TLICS) 5. veebr Erki Parri

ÕPPEKAVA INTEGRATSIOONI VÕIMALUSI. Tiina Kuusk, pedagoogikamagister, Valjala Põhikooli vanemõpetaja

TeeLeht aasta suuremad teetööd. Korruptsioon ja Maanteeamet. Tee annab tööd küll, jätkuks vaid tegijaid. Tuhandete kilomeetrite võrra targemaks

ГУ ISSN Vikerkaar 1/1988

Katre Kõvask: Ühtne tarkvara hoiab kõvasti meie aega kokku. Premia Foodsi juhatuse esimees. Mobile Loyalty lahendus, mis tagab konkurentsieelise

Arvutikasutaja motoorsete andmete abil järelduste tegemine

BRÄNDIMISE TÄHENDUS EESTI ERAETTEVÕTETES

BLOGIJA JA REKLAAMIOMANIKU VAHEL KOMMUNIKATSIOONI LIHTSUSTAMISEKS VEEBIRAKENDUSE ANALÜÜS JA PROTOTÜÜBI ARENDAMINE

Noorsootöö muutuvas maailmas NOORTE VABATAHTLIK TEGEVUS ETTEVÕTLIKKUS MIHUS 06/11 1

Armu teile ja rahu Jumalalt, JEESUS VAIGISTAB TORMI! PIIBLIKOOL LASTEKESKUS. Tervitus! Vägi meie kätes. Lõpeta kohtumõistmine

Jesper Juul. Sinu tark laps

TALLINNA ÜLIKOOL Haridusteaduste Instituut Alushariduse valdkond

KAASAMISE. käsiraamat AMETNIKELE JA VABAÜHENDUSTELE

TURUNDUS SOTSIAALMEEDIAS: EESTI ETTEVÕTETE KOGEMUS PÕHJUSED, INFO JA TULEMUSED

TARTU ÜLIKOOL SOTSIAALTEADUSTE VALDKOND NARVA KOLLEDŽ ÜHISKONNATEADUSTE LEKTORAAT

STRUKTUURIVAHENDITE RAKENDAMISE HINDAMISTE LÄBIVIIMISE TÖÖVIHIK

INTERAKTIIVSE SISUPAKETI LOOMINE UDUTU ABIL: VÕIMALUSED JA KITSASKOHAD

Tartu Ülikool Sotsiaalteaduste valdkond Haridusteaduste instituut Koolieelse lasteasutuse pedagoogi õppekava. Kersti Rüütli

IT-revolutsiooniks Gartneri uuring Nõuandeid

11. AASTAKÄIK 1999 NUMBER 8

Adaptation of the KOOS questionnnaire for the use in Estonia Ann Tamm University of Tartu, Estonia ;

Köögikubu juhtimine mikrokontrolleri baasil

TARTU ÜLIKOOL SOTSIAAL- JA HARIDUSTEADUSKOND ÜHISKONNATEADUSTE INSTITUUT Sotsiaaltöö ja sotsiaalpoliitika

TÄNUSÕNAD PIIRID PUUDUVAD

RAHVUSVAHELISE BRÄNDI KUJUNDAMINE TARKVARAARENDUSETTEVÕTTES MCRLabs

Tudengid saavad oma maja ülikooli südamesse! Kolumn: Mis keda vaevab? KUIDAS EHITADA ROBOTIT? Eksperiment: Vargus raamatukogus

Õpilaste käitumise arendamine aktiivse vahetunni abil ühe kooli näitel õpetajate hinnangul

KLIENDI RAHULOLU JA LOJAALSUSE KUJUNDAMINE INSTRUMENTARIUM OPTIKA OÜ TARTU LÕUNAKESKUSE KAUPLUSE NÄITEL

DEVELOPING METHODS FOR ANALYSIS AND EVALUATION OF REGRESSION TESTING PROCESS

TARTU ÜLIKOOL. Profileerimise tajumisest internetis gümnaasiumiõpilaste seas. Sotsiaalteaduste valdkond. Ühiskonnateaduste instituut

Tallinna Ülikool Informaatika Instituut

Stanley Black & Deckeri ülemaailmne privaatsuspoliitika

Tartu Ülikool Sotsiaal- ja Haridusteaduskond Haridusteaduste Instituut Eripedagoogika õppekava. Anne Mereküla

MITMIKE PEREDE RAHULOLU JA TOIMETULEK IGAPÄEVAELUGA

Õpetajate Leht. Ideedest ei tule puudust Sirje Tohver. Austatud haridusrahvas!

Tartu Ülikool. Sotsiaalteaduskond. Riigiteaduste Instituut. Magistritöö. Laidi Surva VABATAHTLIKU TEGEVUSE ARENDAMINE KOLMEL TASANDIL:

probleemidest tuleb rääkida kohe LK 34 Mobiilisõbralik koduleht toob kliendid teie juurde

Oleks see ainult üks asi olnud : Ühel vaimude väljakutsumise situatsioonil põhinevate memoraatide. võrdlev analüüs

Indrek Otsus Ott Kiivikas

LASTEKAITSETÖÖTAJATE TÕLGENDUSED HINDAMISEL LAPSEVANEMAKS OLEMISEST

TAVAKOOLI II KLASSI LASTE KIRJALIKU TEKSTI LOOME OLUPILDILE TOETUDES NING ÕPETAJATE HINNANGUD LASTE TEKSTIDELE

Saatesõna eestikeelsele väljaandele

Tiraaž 1000 eks. Levitatakse tasuta

#21: suvi. Väljaandja: MTÜ Tartu Kultuuritehas Toetajad: Tartu Linn, tartu kultuurkapital, eesti kultuurkapital Trükk: Printall Tiraaž: 4000 Tasuta!

U K. Paneme sinna U (push(u)) K Võtame K välja (pop()) Pinu on tühi.

SÜNDMUSTE TURUNDUS MTÜ PÜHA LOOMAAED NÄITEL

MONDAY, JANUARY 29, 2007

Tartu Ülikool Geograafia Instituut

MARTIN HEIDEGGERI JA JEAN-PAUL SARTRE I EKSISTENTSIKÄSITLUS

B.E. Haley and T. Small/Medical Veritas 3 (2006) 1 14

#23 : sügis. Väljaandja: MTÜ Tartu Kultuuritehas Toetajad: Tartu Linn, tartu kultuurkapital, eesti kultuurkapital Trükk: Printall Tiraaž: 4000 Tasuta!

LOOMADE POOLT Kadri Taperson

Vajame inimesi, kes oskaksid iseseisvalt õppida.

Fotod. Arno Saar, 2008 Harri Rinne and WSOY Järelsõna eestikeelsele väljaandele. Harri Rinne, 2008 Tõlge eesti keelde. Sander Liivak, 2008

3.3 Projekti rakendamine. Ban Uppa! juures : Millega? Kellega? Millal? Kus? Kuidas? Tegevuste plaani kavand (Kommentaarid teretulnud!

Transcription:

Kasutusmallid (Kasutatud on Penker'i UML Toolkit-i, Fowler'i UML Destilled ja Larman'i Applying UML and Patterns) Kasutusmallide kirjeldamine Kasutusmallid (use case) uuritavas valdkonnas toimuvate protsesside kirjeldus. Kasutusmall on dokument, mis kirjeldab soovitavat funktsionaalsust mida peab süsteem oskama teha, et klient sellega rahule jääks. KM on seotud nn välise kliendiga, kes või mis süsteemi abil oma tööd teha tahab. KM-e saab kirja panna mitmel kujul. Erinevad meetodid kasutavad veidi erinevaid mõisteid, kuid igatahes tuleb alustada millestki sellisest, mis teeb selgeks, kuidas kasutajad süsteemi kasutama hakkavad (peale kõige üldisema kirjelduse esitamist). Nõuded Nõudmised (requirements) on võimekus ja tingimused, millele süsteem vastama peab. Kõige olulisem nõuete analüüsil on leida, selgeks rääkida, teistele edasi anda ja meelde jätta, mida tegelikult vaja on. Meelde jätmine eeldab tavaliselt üleskirjutamist, soovitavalt sellisel kujul, millest on kasu nii kliendile kui ka arendusmeeskonna liikmetele. Nõuete leidmisega alustatakse UP metoodika puhul algatusfaasis (kuid ei tegeleta ainult sellega!). UP ei too eraldi välja ühtegi meetodit kliendilt tema soovide teadasaamiseks (requirements elicitation method ), vaid peab sobivaks mida iganes. Oluline on tulemus. Kasutajate nõudeid süsteemile ehk soove ehk vajadusi saab jaotada gruppidesse. Üks võimalikke jaotusi on funktsionaalsed ja mittefunktsionaalsed nõuded. Sellele väga üldisele jaotusele alternatiiviks pakutakse UP kontekstis FURPS+ mudelit (jätan põhimõisted tõlkimata): Fubktsionaalsus (Functionality) võimalused, suutlikus, turvalisus Kasutuskõlblikkus (Usability) inimfaktor, abi, dokumentatsioon Töökindlus (Reliability) vigade tihedus, parandatatvus Suutvus (Performance) vastamise aeg, korrktsus, kättesaadavus, ressursside kasutamine Toetatavus (Supportability) adapteeritavus, hooldatavus, rahvusvahelisus, konfigureeritavus Ja + FURPS+ juures tähendab: Implementation ressursside limiidid, keeled, vahendid Interface piirangud liidestamisel väliste süsteemidega Operations süsteemi haldamine Packaging süsteemi organiseerimine füüsilisteks osadeks Legal - litsentsid Igasuguse kategoriseerimise eesmärgiks on nõuete edukam ülesleidmine. Seega võib ka teistsugust süsteemi kasutada. Enam-vähem igasse kategooriasse peaks mõned nõuded leiduma. Nõuded erinevates UP tehistes Nõuded jaotatakse erinevate UP tehiste vahel. Mõned näited, kuidas seda teha saaks: Kasutusmallimudel (Use-Case Model) - kirjeldab funktsionaalsed nõuded ja nendega seonduvad Inga Petuhhov, TLÜ 1/6

mittefunktsionaalsed nõuded. Peamisel on ta siiski funktsionaalsete nõuete põhidokument. Sisaldab kasutusmallide stsenaariume. Täiendav spetsifikatsioon (Supplementary Specification) - Kirjeldab teisi nõudeid, enam-vähem kõiki, mis kasutusmallimudelis ei ole. Enamus mittefunktsionaalsed nõudeid (jõudlus, litsentsid, jms). Ärireeglid (Business Rules) valdkonnas valitsevad reeglid, millega tuleb arvestada. Näiteks seadustega kehtestatud maksud. UP-s on olemas mõiste user goal kasutaja eesmärk ja tarkvarasüsteem peab aitama neid eesmärke täita. Kasutusmalli mudel Kasutusmalli mudel on valdavalt jutt (tekst), millega pannakse kirja kasutajate nõudmised. Enamasti on siis tegemist jutustusega sellest, kuidas keegi kasutab süsteemi oma eesmärkidele vastavalt. Idee on lihtne ja selge. Keerulisem on kõiki soove üles leida ja neid korralikult kirja panna. Mõisted: Roll (actor) ta käitub, kasutab süsteemi st teeb midagi (tinglikult öeldes kasutaja) Stsenaarium (scenario) toimingute jada rolli ja süsteemi vahel (üks konkreetne stoori ) Kasutusmall (use case) omavahel seotud stsenaariumide hulk, mis kõik võivad käiku minna ühe kasutaja eesmärgi puhul. Tegija e roll (actor) Tegija on süsteemiväline mõiste. Ta mõjutab süsteemi ja saab sealt infot. Osaleb kasutuslugudes. Rolle ei täida ainult inimesed, vaid ka teised arvutisüsteemid ja muud seadmed (pangaautomaat). Eristatakse algatajaid ja osalejaid. Tegija suhtleb süsteemiga saates sinna teateid. Mingi kasutusloo saab algatada ainult tegija. Kui kastuslugu käivitub, võib ta kaasata ka teisi tegijaid. Rollide tuvastamiseks on erinevates meetodites veidi erinevad ideed. Mõned näited. Tegijate leidmiseks tuleb üles leida need, kes on huvitatud interaktsioonist loodava süsteemiga ja seda ka otseselt kasutavad. Ei saa olla tegijat, ilma, et temaga oleks seotud mõni kasutusmall. Nt võib proovida vastata järgmistele küsimustele ( UML 2 Toolkit järgi): 1. Kes hakkab kasutama süsteemi peamist funktsionaalsust? 2. Kes vajab süsteemi oma igapäevaste tööde toetamiseks? 3. Kes haldab ja administreerib süsteemi, et see töökorras püsiks? 4. Millise riistvaraga süsteem tegeleb? 5. Milliste teiste süsteemidega süsteem suhtleb? (mis algatavad kontakte ja millega süsteem ise ühendust võtab teised arvutisüsteemid, tarkvara samas arvutis)? 6. Kes või mis on huvitatud süsteemi poolt toodetavatest tulemustest? Kõik tegijad ei pea olema kasutajad tavamõttes. Üks konkreetne inimene võib kehastuda mitmeks rolliks. Tegija ei ole kunagi Juhan Juurikas, vaid keda ta antud süsteemis etendab (raamatupidaja, süsadmin,...). Selles mõttes sobib sõna roll väga hästi nagu filmis või teatrietenduses. UP jaotab rollid kolme klassi: Esmane roll (primary actor) tema eesmärgid saavad analüüsitavat süsteemi kasutades täidetud Inga Petuhhov, TLÜ 2/6

Toetav roll (supporting actor) osutab analüüitavale süsteemile teenuseid (enamasti on selleks teine arvutisüsteem, kuid võib olla ka inimene) Kõrvalseisja roll (offstage actor) tal on küll süsteemi käitumise vastu huvi, kui ei liigitu kummagi eelneva klassi alla. Kasutusmall (use case) Kasutusmall on funktsioon tegija jaoks süsteemi poolt tehtav tegevus, millest võib tegijal kasu olla. Kasutusmalli võib iseloomustada (Fowleri järgi): Ta on mingi kasutajale nähtav funktsioon. Ta võib olla nii suur kui ka väike. Ta täidab kasutaja jaoks konkreetselt piiritletud eesmärgi. Nt tekstitöötluses tee sõna boldiks või moodusta sisukord nende tegevuste ulatus on erineva, kuid mõlemad sobivad kasutusmalliks. Kasutusmallide ja kasutuslugude idee pärineb juba OO-eelsetest projekteerimistehnikatest, kui kasutati stsenaariume kasutajate vajaduste mõistmiseks. Kasutusmallid on vanemad kui OOtehnikad, kuid neile ei pööratud piisavalt tähelepanu ja neid ei kirjutatud korralikult üles. I. Jacobson lõi 1994 süsteemi oma Objectory meetodiga ja pani aluse kasutusmallide ülesmärkimisele. Kasutusmall võib olla esitatud mitmel erineval abstraktsiooni astmel. Kasutusmalli iseloomustab (UML 2 Toolkit): Algatab alati tegija. Ta paneb ka otseselt või kaudselt süsteemi midagi tegema ja pruugi ise alati teada, et ta süsteemi tegutsema pani. Kasutusmall annab tegijale midagi. See midagi ei pruugi olla alati käega katsutav, kuid siiski midagi kasulikku. Kasutusmall on täielik. Tihti tehakse vigu sellega, et üks lugu jaotatakse mitmeks väiksmaks kastuslooks, nagu funktsiooniks programmeerimise mõttes. Kasutslugu ei ole täielik seni, kuni ta ei anna tagasi mingit otsest tulemust. (nt sisselogimine ei tohiks olla eraldi KL, sest mis sellest sisselogimisest üksinda ikka kasu on). Kasutusmallid peavad vastama järgmistele nõudmistele: Kirjeldavad funktsionaalseid nõudmisi, esitavad kasutamise stsenaariumid, mis on kooskõlastatud kliendi ja tootja vahel. Annavad selge ja ühemõttelise kirjelduse sellest, kuidas lõppkasutaja ja toodetava tarkvarasüsteem omavahel suhtlevad. Annavad alusese testimiseks. Kuidas KM-e kätte saada (UML 2 Toolkit) Kõik algab sellest, et tegijad on leitud. Iga tegija kohta proovi vastata järgmistele küsimustele: Millist funktsionaalsust tegija süsteemilt ootab? Mida ta teha tahab? Kas tegija tahab lugeda, luua, muuta, hävitada või salvestada süsteemis mingit infot? Kas süsteem teavitab tegijat toimuvast või teab tegija süsteemi millesti teavitama? Kas tegija töö võiks muutuda efektiivsemaks, kui süsteemile funktsionaalsusi lisada? Lisaks võib mõelda veel sellest (seostamata konkreetse tegijaga): Süsteemi sisend ja väljund? Kust tuleb sisend ja kuhu läheb väljund? Millised on probleemid praeguse (nt arvutiseerimata) süsteemi juures? Ka viimastel kastusmallidel on kindlasti tegijad, aga nii on ehk lood lihtsam leida ja edasi leida nende jaoks tegijad. Inga Petuhhov, TLÜ 3/6

Pakutakse välja ka sellist kasutusmallide leidmise testi, nagu Bossi test. See on lihtne: Kui Sinu ülemus küsib Sinult, mida Sa tegid terve päeva, siis mida vastad? Logisin sisse ei tee ilmselt ülemust õnnelikuks. Kasutusmalliskeemid (Use Case diagram) Kasutusmall on interaktsioon kasutaja ja arvutisüsteemi vahel. Skeemi ideed lähtuvad Jacobsoni töödest. Eesmärk oli teha selline skeem, millest igaüks aru saaks. Skeemi saab koostada siis, kui on selge, kes ja milleks loodavat süsteemi kasutama hakkab. Stsenaarium sammud, mis kirjeldavad täpsemalt interaktsiooni kasutaja ja süsteemi vahel. Üks võimalik tee läbi kasutusmalli. (Varem kasutati mõistet kogu kasutusmalli tähistamiseks.) Kasutusmallimudel on süsteemi vaade, mis kirjeldab süsteemi käitumist sellisena, nagu seda näeb kasutaja. Kasutusmallimudel jagab süsteemi funktsionaalsuse tegevusteks, millel on mingi mõte tegija jaoks. Skeemi komponendid Tegija e roll (actor) - kasutab süsteemi läbi kasutusmallide. Üks tegija võib olla seotud mitme kasutusmalliga ja vastupidi ühte kasutusmalli võib kasutada mitu tegijat. Tegija ei pea olema inimene, see võib olla ka arvutisüsteem. Esmane tegija põhjustab kasutusloo käivitumise, sellega võivad liituda teisased tegijad, kui selleks on vajadus. Tegija sümboliks on kriipsujuku. Kriipsujukule lisatakse tegija nimi, aga mitte Maali Maasikas, vaid hoopis vanaema, mitte Pets, vaid rullnokk. Kasutusmall (use case) - need on tegevused, mida tegija süsteemis teha saab, nt õpetaja hindab; politsei kontrollib promille. Sümboliks on ovaal ja sees on malli nimi (ilmselt peab olema mingi tegusõna või tegevusnimi, st öeldis ja sihitis mängus terve fraas). Kui ühel kasutusmallil on palju kasutajaid e tegijaid, siis peaks kaaluma, kas tegijad pole ehk üldistatavad. Süsteemi piir - piirjoon füüsilise süsteemi ja väliste tegijate vahel. Side (Association) või lihtsalt seos (link) kasutaja osalus kasutusloos; tegija eksemplar ja kastusloo eksemplar suhtlevad omavahel. Seos 'üldistab' (generalization) - Seos üldisema ja spetsiifilisema kasutusmalli vahel. Seos nö lapselt vanemale. Laps kasutab vanema käitumist ja täpsustab/muudab seda mingil viisil (muidu oleks meil tegemist seosega 'sisaldab'). Tegemist süsteemi loova seosega kasutusmallide ja tegijate vahel. Seos 'sisaldab' (include) Seos baaskasutusmallist temasse lisatava kasutusmalli poole. Baaskasutusmalli käitumine sisaldab lisatava kasutusmalli tegevust. Põhikasutusmalli tegevus sõltub lisatavast kasutusmallist. Baasmall vajab alati lisatavat malli. Loogiliselt on tegemist korduvkasutuse ideega. Modelleeritakse mingit tavalist tegevust, mida mitmes kohas vaja läheb. Seos 'laiendab' (extends) seos laiendavast kasutusmallist põhikasutusmalli poole. Näitab, kuidas laiendav kasutusmall laiendab käitumist, mis kirjas baaskastusmallis. Põhikasutuslugu ei sõltu Inga Petuhhov, TLÜ 4/6

laiendavast kasutusloost. Laienduspunkte võib põhiloos olla mitu. Enamasti on tegemist mingi lisatava käitumisega, mis toimub siis, kui mingi(d) tingimus(ed) on täidetud. Igal juhul peab baasmall väljendama peamist/olulist käitumist, laiendused aga lisavad juurde mingeid üksikasju. Kuidas leida laiendatud seoseid? (Pole soovitav kõiki eriolukordi ühte lukku kokku kuhjata!) 1. Mängi läbi tavalist olukorda; 2. küsi (endalt) iga sammu puhul situatsiooni käigus, kas sel sammul saab juhutuda midagi ebatavalist, kas saab midagi minna viltu? 3. kirjelda kõik erilolukorrad kui laiendused olemasolevale situatsioonile Kasuta seoseid järgmiselt: 'laiendab' seost - kui on tegemist sama situatsiooni erinevate variantidega 'sisaldab' seost - kui erinevates situatsioonides on osa tegevusi sarnased Millal kasutada kasutusmalliskeemi? Seda vahendit kasutatakse ostja/tellija poolsete nõudmiste ülesjoonistamiseks, projektiarenduse planeerimiseks ja projektijuhtimise käigus. See on esimene asi, mida joonistama hakata. Stsenaarium Samas nt Fowler soovitab antud skeemi joonistamisel hoida madalat profiili, sest olulisem kui üldpilt on ikkagi iga kasutusloo sõnaline kirjeldus. Seega siis parem teha üks üsna üldine kasutusmalliskeem, kui hakata sellel igasugust nipetnäpet erinevaid seoseid kujutama. Samas kasutusmallide sisu tuleb tingimata kirja panna. See annab olulist infot kogu süsteemi funktsioneerimise kohta ja on kõige olulisemaks edasiseks arendusaluseks. Skeem on tuntud, kuid me saame sellest teada kastuslugude omavahelised seosed, suurem väärtus on aga peidus kastusloos endas ja selle sisu kajastamist UML-s ei ole. Kasutusmalli sisu jaoks on erinevad formaadid. Iga kasutusloo jaoks on olemas esmane tegija (primary actor). Tema soovi püüab süsteem rahuldada. Alati ei pruugi aga esmane tegija olla kasutusmalli algatajaks (initiator). Kasutusmallis võivad osaleda ka teised tegijad (secondary actors). Stsenaariumis on kirjas kasutusmalli nimi (see, mis skeemil), eesmärgi tase, valitakse üks stsenaarium, mis peaks olema kõige levinum nö Õnnestumise peastsenaarium (main success scenario) ja sellele lisatakse laiendused (extensions), kus kasutajal võib ka hästi minna või hoopis läbikukkumine tabada. Iga samm on elementaarne tegevus, millest peaks üheselt aru saama. Sammu kirjeldab lihtne lausung. Samm peab näitama tegija eesmärki, mitte mehhanismi, kuidas te tegutseb (a la vajutab nuppu ). NB! Ära kirjelda kasutajaliidest! Keerulisem samm võib olla teine kasutusmall. Sel juhul öeldakse, et esimene kasutusmall sisaldab teist kasutusmalli ja kasutatakse seost sisaldab (include). Sellise kasutusloo erstamiseks soovitab Fowler kasutada allajoonimist (nagu hüperlink). Stesenaariumi näide Nimi: Toote ostmine e-poes Tase: peamine Õnnestumise peastsenaarium 1. Klient vaatab toodete kataloogi ja valib ostetavad esemed. 2. Klient regstreerib ostu 3. Klient täidab kohaletoimetamise info (aadress, tüüp kiir/tavaline, jne) Inga Petuhhov, TLÜ 5/6

4. Süsteem esitab hinnad, kaasaarvatud kohale toimetamine. 5. Klient täidab krediitkaardi info. 6. Süsteem autoriseerib ostutehingu 7. Süsteem kinnitab müügi. 8. Süsteem saadab kliendile kinnitava e-maili Laiendused: 3a. Klient on tuttav Süsteem pakub tavalise kohaletoimetamise jms info. Klinet võib seda muuta. Tagasi põhistsenaariumisse 6a Süsteemil ei õnnestu ostu krediiti autoriseerida Klient võib uuesti sisestada krediitkaardi info või tegevuse lõpetada. Lisada võib veel ka sellist infot: eeltingimused (pre-conditions) millises olekus peab süsteem olema, et malli tegevus võiks alata, garantii (guarantee) millises olekus on süsteem pärast kasutusmalli lõppu; päästik (trigger) milline sündmus vallandab kasutusmalli tegevuse. Inga Petuhhov, TLÜ 6/6