UML – Unified Modeling Language

Kuvauksen kirjoitti: Jarko Miettinen, tunnus K8161

Lyhyt kuvaus käsitteestä tai aiheesta

Ohjelmistokehitystä varten kehitetty mallinnuskieli, jota käytetään laajasti suunnitteluun, visualisointiin ja dokumentointiin.

UML on kehitetty alun perin yhdistämällä OMT, Booch ja OOSE oliotekniikkaa ja näin ollen UML sopii erityisen hyvin kuvaamaan projekteja, joissa käytetään oliopohjaisia ohjelmointikieliä. Tästä huolimatta UML on itsessään täysin kielestä riippumaton ja sitä voi käyttää hyvin kuvaamaan myös sellaisia kieliä, jotka eivät pohjaudu olioiden käyttöön. UML on jopa itsessään myös ohjelmoinnista riippumaton ja sitä voi käyttää vaikkapa liiketoimintaprosessien mallintamiseen.

UML:n vahvuus onkin sen monipuolisuus, sillä se tarjoaa useita erilaisia kaavioita, jotka mahdollistavat monien erilaisten prosessien ja järjestelmien kuvaamiseen. Alla on kuvattu viimeisimmän, 2015 vuodelta olevaan 2.5 standardiin kuuluvat kaaviot. Sinisellä kirjoitetut kaaviot tosin eivät ole osa virallista standardia.

UML 2.5 kaaviot

Kuten kuvasta voidaan huomata, voidaan kaaviot jakaa kahteen osaan: rakennekaavioihin ja käyttäytymiskaavioihin. Rakennekaavioiden tarkoitus on nimensä mukaisesti kuvata järjestelmän rakennetta. Esimerkiksi luokkakaavion avulla voidaan kuvata ohjelmassa tarvittavia luokkia ominaisuuksineen sekä näiden suhdetta toisiinsa. Käyttäytymiskaavioiden avulla taas on tarkoitus kuvata muutoksia järjestelmässä. Näihin kuuluu esimerkiksi aikaisemmillakin kursseilla esillä ollut UseCase- eli käyttötapauskaavio, jossa kuvataan käyttäjän toimintaa järjestelmässä.

UML-standardissa nuolet kuvaavat periytymistä kuvataan nuolilla niin, että nuoli osoittaa mistä luokasta mistä luokasta kyseinen luokka perii ominaisuutensa. Esimerkiksi luokkakaavio siis perii ominaisuuksia rakennekaavio yliluokalta ja käyttötapauskaavio käyttäytymiskaaviolta.

Esimerkkejä

Koska kyseessä on visuaaliseen mallinnukseen tarkoitettu kieli, on esimerkit myös parempi esittää visuaalisesti. Alla olevassa kuvassa on kuvattu UML-luokkakaavion notaation merkitykset.

Luokkakaavion notaatio

Ja kuten aina, youtubesta löytyy paljon lisää materiaalia aiheeseen liittyen. Tässä playlist https://www.youtube.com/playlist?list=PLE6FADE1566F68487 , jossa on selvennetty erilaisten kaavioiden käyttöä eri käyttötarkoituksiin.

Lähteitä liittyen aiheeseen

Linkit wikin muihin sivuihin