Lühiülevaade UML'ist

UML (Unified Modeling Language, ühtne mudelikeel) on harustandardiks kujunenud keel tarkvarasüsteemides kasutatavate artefaktide spetsifitseerimiseks, visualiseerimiseks, väljatöötamiseks ja dokumenteerimiseks. UML pakub valmistusele kindla tugistruktuuri, hõlbustades tarkvaraarenduse keerukat protsessi. UML-i töötasid välja firma Rational Software juhtivad süsteemispetsialistid Grady Booch, Ivar Jacobson ja Jim Rumbaugh.

Keel tarkvarakeskse süsteemi artefaktide visualiseerimiseks, spetsifitseerimiseks, väljatöötamiseks ja dokumenteerimiseks.
Allikas: UML keele sõnastik http://www.cc.ioc.ee/uml/

Lühiülevaade UML skeemidest:

Kasutuslooskeem (Use case diagram): Kasutuslooskeeme kasutatakse süsteemi moodustavate tähtsaimate elementide ja protsesside määramiseks. Primaarelemente nimetatakse "aktoriteks" ning protsesse "kasutuslugudeks". Kasutuslooskeem näitab, millised aktorid suhtlevad iga kasutususlooga.

Klassiskeem (Class diagram): Klassiskeemi kasutatakse nö. kasutuslooskeemi viimistlemiseks ning üksikasjaliku süsteemidisaini määramiseks. Klassiskeem liigitab kasutuslooskeemil määratud aktorid omavahel seotud klasside kogumiks. Klassidevaheline suhe või assotsiatsioon võib olla kas "on" või "omab" tüüpi. Iga klassiskeemil toodud klass on võimeline pakkuma teatud funktsionaalsust. Neid nimetatakse klassi meetoditeks. Lisaks sellele on igal klassil olemas rida atribuute mis määravad klassi üheselt.

Objektiskeem (Object diagram): objektskeem on teatud tüüpi klassiskeem. Objekt esitab klassi olekut teatud ajahetkel süsteemi töö käigus. Objektiskeem esitab süsteemi erinevate klasside olekuid ning nendevahelisi relatsioone või assotsiatsioone teatud ajahetkel.

Olekuskeem (State Diagram): nagu ka nimi ütleb näitab olekuskeem erinevaid olekuid, mida läbivad süsteemis olevad objektid oma elutsükli jooksul. Süsteemis olevad objektid muudavad oma olekut vastavalt süsteemis toimuvatele sündmustele. Lisaks sellele näitab olekuskeem ka objekti oleku üleminekut algolekust lõppolekusse vastavalt süsteemi mõjutavatele sündmustele.

Tegevusskeem (Activity diagram): protsesside kulgemist süsteemis kirjeldatakse tegevusskeemi abil. Sarnaselt olekuskeemile koosneb ka tegevusskeem toimingutest, tegevustest, üleminekutest, alg- ja lõppolekust ning tõkisetingimustest

Jadaskeem (Sequence diagram): jadaskeem esitab süsteemi objektide
omavahelist suhtlemist. Jadaskeemi oluliseks omaduseks on selle ajaline järjestus.
S.o. esitatakse samm-sammult täpne objektide vaheline interaktsioon. Erinevad
objektid jadaskeemil suhtlevad omavahel "sõnumite" edastamise kaudu.

Koostööskeem (Collaboration diagram): koostööskeem grupeerib erinevate objektide vahelise interaktsiooni. Interaktsioonid esitatakse nummerdatuna, mis lubab jälgida nende toimumise järjekorda. Koostööskeem lubab kindlaks teha kõikvõimalikud interaktsioonid mis igat objekti teistega seovad.

Komponentskeem (Component diagram): komponentskeemi abil kujutatakse kõrgtaseme osi, millest süsteem koosneb. See skeem esitab millised komponendid süsteemi moodustavad ning kuidas nad omavahel seotud on. Levitusskeem (Deployment diagram): levitusskeemi abil kujutatakse rakenduse käitusaegeseid elemente.



Tegevusskeem - UML Activity Diagram

Tegevusskeemi kasutatakse süsteemis toimuvate sündmuste kujutamiseks.
Tegevusskeem on dünaamiline skeem, mis näitab tegevust ning ka sündmust mis põhjustab objekti teatud olekus olemist.

Tegevus (UML-is) definitsiooni järgi on jätkuv mitteatomaarne (st katkematu) täitmine olekumasinas. Lihtsamalt öeldes, tegevusena kujutame toimingut, operatsiooni, mida enam väiksemateks osadeks jagada ei saa, või mille edasine osadeks jagamine ei oma süsteemi seisukohast erilist mõtet.
Tegevusskeemil ehk tegevusdiagrammil esitatakse tegevuste voog, mis on tarvilik eesmärgi saavutamiseks (algolekust lõppolekusse).

Üleminekut ühelt tegevuselt teisele kutsutakse siirdeks.

Tegevusskeemi elemendid:
  • algtevevus (kujutatakse musta ringina) - iga diagramm algab elemendiga algolek. See on nn
    verstapost, millest alates sündmusi kirjeldama hakatakse.
  • tegevus (kujutatakse ümmarguste nurkadega nelinurgana)
  • otsustused (kujutatakse rombikujulistena) - otsustuse elementi kasutatakse olukordades, kus
    vastavalt mingisuguse tingimuse täitumisele on võimalik 1 või enam alternatiivset tegevuste jada.
  • signaal
  • paralleelsed tegevused
  • lõpptegevused -  Iga diagramm lõppeb elemendiga lõppolek. See on nn verstapost, milleni antud diagramm sündmuste voogu kirjeldab; mis olekusse jääb süsteem peale tegevuste
    läbimist.

Swimlane'd võimaldavad tegevuste gruppeerimist tegijate kaupa. Swimlane on jaotis tegevuste süstematiseerimiseks. Üsna sageli määratakse radade lisamisega ära erinevate funktsionaalsete üksuste poolt realiseeritavad tegevused.

Tegevusdiagramm on vaid üks paljudest vahenditest, mida UML pakub ülesande disaini koostamiseks. Keerukamate ülesannete puhul tuleks läbida vähemalt peamised disainietapid, alustades pakutava funktsionaalsuse kirjeldamisega kasutuslugude kaudu.