Unified Modeling Language

A Wikipédiából, a szabad enciklopédiából
Különböző UML diagramok

Az UML (Unified Modeling Language) szabványos, általános célú modellező nyelv, melynek segítségével szöveges és grafikus modelleket készíthetünk többek közt:

  • Rendszerekről, szervezetekről: viselkedésükről, külső és belső kölcsönhatásaikról stb.
  • Szereplőkről: viselkedésük egy rendszerben, kapcsolatuk más rendszerekkel stb.
  • Üzleti tevékenységről, folyamatokról:
  • Logikai összetevőkről: azok viselkedéséről, feladataikról, kommunikációjáról egy rendszeren belül, vagy rendszerek között stb.
  • Szoftverekről, programokról: az UML az objektumorientált programozás szabványos specifikációs nyelve.
  • Adatbázisokról: elméleti, logikai és fizikai modellekről egyaránt.

Az UML grafikus jelöléseket használ rendszerek absztrakt modelljének leírására. Az UML modellek szabvány UML jelölést használó diagramokból állnak.

Az UML története[szerkesztés | forrásszöveg szerkesztése]

  • A 80-as évek végére több objektumközpontú modellezési irányzat is kialakult. Némelyiket elsősorban (objektumorientált) programok modellezésére használták, másokat egyéb célokra, például adatbázis-tervezésre.
  • A 90-es évek elején három modell különült el. Ezek kifejlesztői Jim Rumbaugh, Ivar Jacobson és Grady Booch voltak. Az 1990-es évek közepén a Rational Software alkalmazta Rumbaugh-t és Booch-t, akik megalkották az Unified Method 0.8-at. 1996-ban már Jacobson együtt dolgozták ki az Unified Method 0.9-et.
  • 1997-ben már Unified Modeling Language néven adták be az OMG (Object Management Group) nevű független szabványszervezethez, mely azóta is fejleszti.

Diagramok[szerkesztés | forrásszöveg szerkesztése]

Az UML 2.0 verzió 13 különböző diagramtípust definiál, melyek kategóriákba és alkategóriákba oszthatók:

Az UML 2.0 diagramok hierarchiája

Strukturális diagramok[szerkesztés | forrásszöveg szerkesztése]

A strukturális diagramok a modellezett rendszer elemeire vonatkoznak. Ezek altípusai a következők:

  • Osztálydiagramok

Az osztálydiagram egy statikus modell. A rendszerben használt osztályokat mutatja azok attribútumaival együtt. Az osztálydiagram tartalmazza továbbá az osztály szintű kapcsolatokat.

  • Komponensdiagramok

A komponensdiagram a rendszer fizikai komponenseit és az azok közötti függőségeket mutatja. Fizikai komponens például a file, a header, a modul, a csomag és a futtatható állomány is.

  • Összetett struktúradiagramok

Az összetett struktúradiagram (composite structure diagram) az osztályok belső szerkezetét mutatja és azt, hogy az adott szerkezet milyen kollaborációkat tesz lehetővé.

  • Telepítési diagramok
Egy deployment (telepítési) diagram

A telepítési diagramok (deployment diagram) a rendszerimplementációhoz használt hardvert, a hardverre telepített szoftverkomponenseket és azok viszonyát hivatottak reprezentálni.

  • Objektumdiagramok

A modellezett rendszer egy adott időpillanatbeli állapotát mutatják az objektumdiagramok. Az objektumdiagram pillanatfelvétel a rendszer állapotáról. Osztályok példányait és kapcsolatait jeleníti meg. Az objektumdiagram konkrétabb az osztálydiagramnál, mert objektumok példányainak a kapcsolatát írja le objektumosztályok kapcsolata helyett.

  • Csomagdiagramok

A csomagdiagram azt mutatja, hogy hogyan szerveződnek a szoftverelemek csomagokba illetve hogyan viszonyulnak ezek a csomagok egymáshoz.

Viselkedési diagramok[szerkesztés | forrásszöveg szerkesztése]

egy use case diagram
egy állapotgép diagram

A viselkedési diagramok azt írják le, hogy minek kell történnie a modellezett rendszerben:

  • Aktivitásdiagramok

Az aktivitásdiagramok a munkafolyamatot (idegen szóval workflow-t) modellezik.

  • Állapotgép diagramok

Az állapotgép diagramok a rendszer lehetséges állapotait és az azok közötti átmeneteket mutatják állapotgépes ábrázolással.

  • Use case diagramok

A use case diagramok fogalmazzák meg a rendszer használati eseteit.

  • Interakciós diagramok

Az interakciós diagramok fogalmazzák meg a rendszerelemek közötti kommunikációt. Ezeknek további altípusai léteznek:

  • Kommunikációs diagramok
  • Interakciós Áttekintő diagramok (Az UML 2.0 verziótól)
  • Szekvenciadiagramok
  • UML időzítődiagramok (Az UML 2.0 verziótól)

Kritikák[szerkesztés | forrásszöveg szerkesztése]

Bár az UML széles körben elfogadott és használt szabvány, gyakran kritizálják az alábbiak miatt:

  • Túl nagy és túl bonyolult: Az UML szabvány sok diagramot tartalmaz, amelyeknek egy jó részét alig használják, jó része pedig redundáns.
  • Pontatlan szemantika: Az UML szemantikát részben OCL-lel, részben angol nyelven, részben az UML-lel magával definiálják, és hiányzik a formális nyelveknél megszokott szigorú definíció.

A jelenlegi UML szabvány verziónként használ más jelölést (UML 2 és 1 között van eltérés), folyamatosan fejlődik, nem kiforrott.

Egyszerű (egy, maximum két programozó által összedobható) programok esetén, amennyi idő alatt az UML segítségével egy szoftver precízen megtervezhető, azalatt az idő alatt a program kétszer is megírható. De ha a cél: precízen megtervezni egy szoftvert, amely megfelelően dokumentálva van, és a továbbikban az adott területhez egyáltalán nem értő olcsó kódolókkal beprogramozható akkor az UML használata gyakorlatilag megkerülhetetlen.

Források[szerkesztés | forrásszöveg szerkesztése]

  • Dr. Raffai, Mária. Egységesített Megoldások a Fejlesztésben 2. Budapest: Novadat. ISBN 9789639056299 (2002) 
  • Vég, Csaba. Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel. Budapest: Logos 1999. ISBN 9789630376600 (2000) 

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]

Commons
A Wikimédia Commons tartalmaz Unified Modeling Language témájú médiaállományokat.