Gyakorlati alapok III.
Röviden az UML-ről
Az UML jelentése: Unified Modeling Language, azaz egyesített modellező nyelv.
Történeti előzménye egyidős a szoftverfejlesztéssel, hiszen a szoftverfejlesztők már egészen a kezdetek óta használtak mindenféle modellező segédmódszert egyre bonyolultabb algoritmusaik átlátására. Egyik közvetlen elődje a klasszikus folyamatábra (flowchart)...
...amelynek célja egy informatikai (tágabb értelemben valójában bármilyen folyamat, algoritmus) plasztikus, működésében átlátható bemutatása, vizuális modellezése. Az egyesített jelző talán arra utal, hogy a szerzők, Grady Booch, Ivar Jacobson és James Rumabugh (1997) megpróbálták a folyamatábra, tágabb értelemben az objektumorientált szemlélet sokféle elemét egységes szabvány alá vonni és ezáltal egységes megjelenítési keretet biztosítani. Illetve az egységesség iránti igény abban is megnyilvánulhat, hogy az UML kísérletet tesz mikrofolyamatok (például egy alapalgoritmus belső működése) és makrofolyamatok (például globális folyamatok) egységes keretrendszerű megjelenítésére.
Az viszont bizonyos, hogy nem nyelv, legalábbis nem lehet egy fogalomkör alá vonni mondjuk a Java-nyelvvel.
Nem több, mint eddig láthattunk benne: szabványosított folyamatábra.
A programozók gyakran vázolják fel előzetesen algoritmusaikat UML vagy ehhez hasonló ábrák segítségével. Ha ezt megteszik, legtöbbször erre a specifikáció készítésekor kerül sor, a megrendelő ehhez nem ért. Ilyen esetekben nincs annak túl nagy jelentősége, ha az UML egy vagy több algoritmus működését vázolja fel (mikroszint), annak viszont már lehet, amikor sok programozó dolgozik egy megaprojekten és a köztük lévő bonyolult kapcsolati hálót kell modellezni. A fenti UML-ábra egy ilyen, már makroszintű kapcsolati rendszert mutat.
Algoritmusok UML-modellezését mi is bármikor megtehetjük akármelyik kódunkkal vagy akár a honlap bármelyik fejezetében található kóddal kapcsolatban. Azt sem állítom, hogy létszükséglet az algoritmus előzetes UML-felvázolása, ám bonyolultabb problémák esetén mindenképpen hasznos lehet, mert sok félreértést képes vizuálisan tisztázni, segítségével a problémák megoldása, vele a pontos implementáció jobban átláthatóvá válhat.
Végkövetkeztetésként kijelenthetjük, hogy az UML használata oktatás vagy rendszerek működésének, kapcsolatának szemléltetése során a leggyakoribb.
A jelen honlapon nem fogunk foglalkozni külön UML-ábrázolással. Ezt a fejezetet azért illesztettem be, mert egyrészt az UML alapszintű ismerete követelmény a programozók számára, másrészről pedig a következő, Osztálytervezési minták című fejezet alapszintű feldolgozásához szükségünk van alapszintű UML-ismeretre is.
Az UML-ről kellő részletességgel a www.tutorialspoint.com/uml címen tanulhatunk.