UML eli Unified Modeling Language on standardoitu tapa kuvata ohjelmisto- ja järjestelmäsuunnittelua visuaalisesti. Se tarjoaa erilaisia kaavioita ja työkaluja ohjelmistojen rakenteen, toiminnallisuuden ja käyttötapauksien mallintamiseen. UML auttaa suunnittelijoita kommunikoimaan, ymmärtämään ja dokumentoimaan ohjelmistojen arkkitehtuuria ja toiminnallisuutta.
Luokkakaavio on UML-standardin mukainen mallinnustyyppi, joka kuvaa järjestelmän staattisen rakenteen luokkien ja niiden välisten suhteiden avulla.
Luokka piirretään suorakaiteena, joka on jaettu kolmeen osaan; luokan nimi, luokan tiedot (jäsenmuuttujat) ja luokan toiminnallisuus (jäsenfunktiot).
Diagrammeissa käytetyt suojaustasoa kuvaavat symbolit ovat:
Esimerkiksi jäsenmuuttuja osiossa voisi olla rivi:
-age:int
joka tarkoittaa, että luokka sisältää int tyyppisen muuttujan nimeltään age, jonka suojaustaso on private
Ja jäsenfunktio osiossa voisi olla rivi:
+getInfo(int):float
joka tarkoittaa, että public metodi getInfo ottaa vastaan argumenttina int tyyppisen arvon ja palauttaa float tyyppisen arvon
Kontruktoria ei välttämättä merkitä diagrammiin.
Periytyminen ilmaistaan UML-kaaviossa nuolella, joka osoittaa perittävään eli
kantaluokkaan. Kuvassa Student- ja Teacher-luokat perivät
Person-luokan.
Kooste ilmaistaan viivalla, jonka päässä on vinoneliö. Musta vinoneliö
tarkoittaa kompositiota eli vahvaa koostetta. Kuvassa Classroom-luokka
omistaa siihen kuuluvat Student- ja Teacher-oliot.
UML-luokkakaavioita voidaan laatia graafisilla työkaluilla, kuten draw.iolla ja Lucidchartilla. Mermaid toimii eri tavalla: kaavio kuvataan tekstimuotoisella koodilla, jonka Mermaid muuntaa automaattisesti kaaviokuvaksi. Tutustu Mermaidin pikaoppaaseen.